查找数据帧列中的数字,并提取与R中的数字匹配的单元格的行号

时间:2013-10-02 09:40:54

标签: r dataframe

我需要做一些看似简单但却无法找到使其成为可能的函数R的东西。 我有一个带有因子列的数据框,如下所示:

structure(list(A = structure(c(1L, 4L, 2L, 10L, 7L, 3L, 6L, 5L, 
8L, 9L), .Label = c("01WEA8002", "01WEA8007", "01WEA8016", "02WEA8004", 
"02WEA8018", "03WEA8017", "04WEA8015", "07WEA8019", "08WEA8020", 
"09WEA8014"), class = "factor")), .Names = "A", class = "data.frame", row.names = c(NA, 
-10L))

我需要一个代码,它为我提供包含给定数字的特定单元格的行号。 所以说我有

n<-8017

我想让代码进入列并在每个单元格中查找该数字,并在其中一个单元格的字符串中找到它时,为其提供它所在的行号。因此,对于我的示例(8017),我们可以看到该数字可以在列的第7行中找到,在字符串“03WEA8017”中。

我为变量'n'提供的数字在列中始终是唯一的,因此在单词“WEA”之后的字符串末尾始终只有一个包含该数字的单元格。 “WEA”之前的数字可以改变,但我想关注我在'n'中的数字并忽略其余数字,因为它只能是一个包含它的单元格。

所以,基本上我需要代码来获取变量'n',转到数据框的列,查找每个字符串中的数字,当它找到它时,给我输出匹配单元格的行号位于。

我试图尽可能清楚,先谢谢你给予的任何帮助。

1 个答案:

答案 0 :(得分:2)

grep("8017", as.character(dataset$A))