R防止延迟

时间:2018-08-01 12:52:56

标签: r lazy-evaluation

我想使用high()库中的rPref来更改变量名,例如

df <- data.frame(x = c(1,2,3), y = c(2,3,0))
psel(df, high(x) * high(y))

但是,如果我事先不知道列名,我会尝试

psel(df, Reduce("*", sapply(colnames(df), high)))

给出

Error in calc_scores(object, df, frm) : 
  For the high preference high(X[[i]]) the expression must be numeric!

我尝试了force(),但在这里没有帮助

编辑:没关系,我意识到rPref也有high_()用于标准评估。

0 个答案:

没有答案