【发布时间】:2019-08-14 21:52:32
【问题描述】:
我有一个大型数据集(50 000 行),其中的数据类似于:
CODE sYS YEAR MONTH VAR STATION
00000539 BREAK 1998 12 n HUAYAN
00000539 BREAK 2003 12 n HUAYAN
00000539 BREAK 2008 12 n HUAYAN
00000539 BREAK 2009 12 n HUAYAN
00000539 BREAK 2015 12 n HUAYAN
00000543 BREAK 1992 12 n NANA
00000543 BREAK 2008 12 n NANA
00000543 BREAK 2010 12 n NANA
00000638 BREAK 1971 12 n PACARAN
00000638 BREAK 1973 12 n PACARAN
00000638 BREAK 1997 12 n PACARAN
00000727 BREAK 1973 12 n COPARA
00000727 BREAK 1995 12 n COPARA
00000727 BREAK 1997 12 n COPARA
00000727 BREAK 1998 12 n COPARA
我想要的是获取特定年份的行索引,例如
x <- c(1973, 1998, 2008)
我试过了:
> row_index <- match(x, DataSet$Year)
> print(row_index)
> 10 1 3
正如你所看到的“match()”我只得到第一个值而不是全部,因为我期望我喜欢这样:
> 10 12 1 15 3 7
任何建议或帮助。谢谢。
【问题讨论】:
-
也许是库(data.table); setDT(Dataset)[YEAR %in% x, which=TRUE]
标签: r indexing data.table row