我有一个数据框。
df <- data.frame(A = 1:10, B = 101:110, C = 201:210)
我想使用以下标准在A列中找到值
df$A[df$B > 101 & df$B < 105]
[1] 2 3 4
但是,我希望能够使用以下方法以编程方式指定条件
var <- noquote(paste0("df$", names(df[2])))
df$A[var > 101 & var < 105]
但我得到的只是integer(0)
。
显然有些事情是不对的。有人可以帮忙吗?谢谢。
答案 0 :(得分:1)
如果我们需要,请使用eval(parse
df$A[eval(parse(text=var))> 101 & eval(parse(text=var)) < 105]
#[1] 2 3 4