迭代数据帧列表并获取R中每个数据帧的子集

时间:2015-02-18 12:05:47

标签: r list dataframe iteration

我有一个数据帧列表(mylist),我想迭代它们并获取每个数据帧中特定列中没有某些值(“上游”或“下游”)的所有行!我会喜欢将数据帧的子集(其余值)返回列表! 目前我正在这样做:

mylist<- lapply(mylist, function(df){
  if (df$column != "upstream" | "downstream"){
     mylist <- df
  }
})

出现以下错误:

Error in df$insideFeature : object of type 'symbol' is not subsettable

提前感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:1)

正如PeterDee所说:您错误地使用|。使用%in%执行此操作,如下所示

myfun <- function(df, words) {
  good_col <- which(! df$column %in% words)
  df[good_col,]
}

然后

lapply(mylist, myfun, c("upstream", "downstream"))