0

我通过以下方式在矩阵中有数据:

label     1        2      3       4
id_101   10       30      43      32
id_102    3       32     43       43
id_111    45      34     22       66
id_201    87      65     66       34
id_202    45      76     76       44
......

此数据已转换为列表,如下所示:

[[1]]
     [1]  label   1     2       
     [3]      3   4
[[2]]
     [1]  id_101 .....

 ......

我想知道值a是否与名为label的列中的值之一匹配。为此,我使用了带有 match 指令的 for 循环:

    a<-"id_201"    ///for example
for (pos in 2:length(matrix))
{

    if (!is.na(match(a,tabd[[pos]][[1]])))
    {
        found<-1
        print(found)
        break
    }
}
    if (found) print(pos)

我想知道是否有一种有效的方法来查看变量a的值是否与标签 下列的任何值匹配并获取其位置,但不使用 for 循环。谢谢

4

1 回答 1

0

我做了一个有点像你描述的列表,尽管它用双引号括起来。使用它表明这应该有效

which( sapply(txtList, "[", 1) == a )
于 2012-10-02T03:56:29.180 回答