我在使用 dplyr 的 tbl_df 时遇到问题,分别是常规的 data.frame。我有一个很大的 tbl_df (500x30K) 并且需要过滤它。所以我想做的是:
filter(my.tbl_df, row1>0, row10<0)
这将类似于
df[df$row1>0 & df$row10<0,]
效果很好。但是我需要在运行时动态构建过滤函数,所以我需要通过一个或多个变量来访问 DF/tbl_df 列。我试过类似的东西:
var=c("row1","row10")
op=c(">","<")
val=c(0,0)
filter(my.tbl_df, eval(parse(text=paste(var,op,val,sep="")))
这给了我一个错误:与 LGLSXP 不兼容 这似乎深深植根于 Cpp 代码中。
我会感谢任何提示。还指出“字符串到环境变量”的转换会有所帮助,因为我很高兴我做错了。
用最好的,
马里奥