rxXdfToDataFrame を使用して xdf ファイルを読み取り、rowSelection の式で変数を使用する関数があります。を渡さないtransformEnvir=environment()
と、変数が見つかりません。私の問題は、 で関数を呼び出した後transformEnvir
、 に確実にアクセスできないように見えることです.GlobalEnv
。数値をハードコーディングするとrowSelection
、使用する必要がなくなりtransformEnvir
、すべてが正しく機能します。環境を設定しようとしましたが、正しく行っていたかどうかさえわかりません。
次のコードは私の問題を再現します:
envirtest = function()
{
require(data.table)
df = data.frame(x=1:10)
selectnum = 5
rxDataFrameToXdf(df, "testxdf.xdf")
testdf = rxXdfToDataFrame("testxdf.xdf",rowSelection=(x==selectnum),transformEnvir=environment())
testdt = setDT(testdf)
}
発生するエラー:
Error in envirtest() : could not find function "setDT"
ただし、代わりにsetDT()
,data.table::setDT()
を使用すると、関数が実行されます。
編集:設定せずに試してみたところtransformEnvir
、すべてが正常に機能したことを忘れていました。また、混乱を避けるために、tables() が setDT() に変更されました。