以下是根据我的数据的一小部分例子:不正确的函数输出
NAME <- c("SYNOP", "SYNOP", "METAR", "METAR", "SYNOP", "METAR")
AIR <- c(6.7, 8.3, 9.2, 8.9, 9.1, 8.7)
Example <- data.frame(NAME, AIR)
NAME AIR
1 SYNOP 6.7
2 SYNOP 8.3
3 METAR 9.2
4 METAR 8.9
5 SYNOP 9.1
6 METAR 8.7
我用grep来选择这个数据,其中NAME == METAR的一个子集,并找出出现次数的数量:
ex_METAR <- Example[grep("METAR", Example$NAME), ]
nrow(ex_METAR)
我不得不重复这对于大量的NAME
情况,并希望通过利用它的功能来加速这一进程。但是我必须做一些错误的,因为我每次都得到一个错误信息:
example_Function <- function (A, B, C) {
A[grep("B", A$C), ]
}
> example_Function(Example, "METAR", Example$NAME)
[1] NAME AIR
<0 rows> (or 0-length row.names)
我都以为是我是怎么描述“METAR”所以我尝试了功能,只有A和C,并获得同样的错误。
example_Function <- function (A, C) {
A[grep("METAR", A$C), ]
}
example_Function(Example, Example$NAME)
有没有我正在积极做错的事情,或者这只是不起作用?我从来没有尝试过以这种方式调整功能。或者,也许功能是错误的路要走?!提前致谢。
(不是Aggregate a dataframe on a given column and display another column重复它正在寻找与最大值子集。我需要子集在列的话,知道多少次发生了。)
的可能的复制[集合在给定的列中的数据帧,并显示另一列(http://stackoverflow.com/questions/6289538/agg regate-a-dataframe-on-a-given-column-and-display-another-column) – Sotos