R:通过某些列名称(作为变量)和字段值来对数据帧进行子集化

时间:2013-07-19 14:42:42

标签: r subset

我有名单列表,我有一个数据框,其副本名称有时与列表中的名称相匹配。现在我想根据两个标准对数据框进行子集化:列表中的列号(作为变量)以及这些列中字段的值。

我试过这种方式:

  names.list <- c("name1", "name2" , "name5")
   names <- as.data.frame(names.list)
   df <- *dataframe with colnames "name1", "name2", "name3", "name4", etc.*

   for (i in 1:nrow(names)){
   name <- names[i,1]
   df <- subset(df, name > 1.5)
   }

我知道这是错误的方式,但我还没想到要做得好。有谁知道怎么做?

提前多多感谢!

1 个答案:

答案 0 :(得分:3)

使用老式的[[[运算符:

name <- "name1"
df[df[[name]] > 1.5, ]
(etc)