【问题标题】:Recursive %in% function in R?R中的递归%in%函数?
【发布时间】:2013-04-21 06:26:27
【问题描述】:

我确信这是一个已经被问过很多次的简单问题,但这是我发现很难知道要搜索哪些字词才能找到解决方案的时候之一.我有一个简单的列表列表,如下所示:

sets <- list(S1=NA, S2=1L, S3=2:5)

> sets
$S1
[1] NA

$S2
[1] 1

$S3
[1] 2 3 4 5

我有一个标量变量val,它可以取sets 中任何整数的值(但永远不会是NA)。假设val &lt;- 4——那么,有什么方法可以快速返回对应于set 中每个列表的TRUE/FALSE 向量,其中TRUE 表示val 在该列表中,FALSE 表示不在?在这种情况下,我想要类似的东西

[1] FALSE FALSE  TRUE

我希望有%in% 的某种递归形式,但我没有找到它的运气。谢谢!

【问题讨论】:

    标签: r recursion pattern-matching


    【解决方案1】:

    像这样:

    sapply(sets, `%in%`, x = val)
    #    S1    S2    S3 
    # FALSE FALSE  TRUE
    

    我必须查看帮助页面?"%in%" 才能发现%in% 的第一个参数名为x。为了您的好奇心(这里不需要),第二个被命名为table

    【讨论】:

    • 很好,不知道%in% 的命名参数。
    • @flodel D'oh!我应该知道的。谢谢!
    猜你喜欢
    • 2020-11-05
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多