通常の data.frame である dplyr の tbl_df の使用に問題があります。大きな tbl_df (500x30K) があり、それをフィルタリングする必要があります。だから私がやりたいことは次のとおりです。
filter(my.tbl_df, row1>0, row10<0)
これはに似ています
df[df$row1>0 & df$row10<0,]
よく働く。しかし、実行中にフィルター関数を動的に作成する必要があるため、1 つまたは複数の変数で 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 コードに深く根ざしているようです。
ヒントをいただければ幸いです。また、「文字列から環境変数へ」の変換を指摘することも役に立ちます。
最高で、
マリオ