我有名单列表,我有一个数据框,其副本名称有时与列表中的名称相匹配。现在我想根据两个标准对数据框进行子集化:列表中的列号(作为变量)以及这些列中字段的值。
我试过这种方式:
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)
}
我知道这是错误的方式,但我还没想到要做得好。有谁知道怎么做?
提前多多感谢!
答案 0 :(得分:3)
使用老式的[
和[[
运算符:
name <- "name1"
df[df[[name]] > 1.5, ]
(etc)