根据动态确定的另一列中的值从列中选择值

时间:2016-12-30 07:05:17

标签: r subset

我有一个数据框。

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)

显然有些事情是不对的。有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:1)

如果我们需要,请使用eval(parse

df$A[eval(parse(text=var))> 101 & eval(parse(text=var)) < 105]
#[1] 2 3 4