をrbind
にdo.call
に渡したいと思います。しかし、次のように動作しません:Rのdo.callの関数引数に余分な引数を渡す方法
data <- do.call(rbind,
strsplit(readLines("/home/jianfezhang/adoption.txt"), split="\t#\t"),
args=list(stringsAsFactors=FALSE))
をrbind
にdo.call
に渡したいと思います。しかし、次のように動作しません:Rのdo.callの関数引数に余分な引数を渡す方法
data <- do.call(rbind,
strsplit(readLines("/home/jianfezhang/adoption.txt"), split="\t#\t"),
args=list(stringsAsFactors=FALSE))
do.call(rbind.data.frame, c(list(iris), list(iris), stringsAsFactors=FALSE))
ことにより、2つのリストをCONCATすることができます。
strsplit
の出力はおそらくベクトルのリストであり、その場合はrbind
が行列を作成します。 data.frameにこの行列を変換するときに、グローバルoptions
を使用して、あなたがFALSE
にstringsAsFactors
を設定することができ、また、
data.frame(do.call(rbind, list(1:10, letters[1:10])), stringsAsFactors=FALSE)
私はあなたの関数呼び出しが有効であるかどうかわからないんだけど、これを試してみてください。
data <- do.call(rbind,
c(strsplit(readLines("/home/jianfezhang/adoption.txt"),split="\t#\t"),
list(stringsAsFactors=FALSE))
あなたは1つのリストを経由してdo.call
にすべての引数を渡す必要があります。 あなたはそれがrbind
がstringsAsFactors
(しかしcbind.data.frame
でしょう)で何をすべきかわからないという事実のためではなかった場合、私の答えだったでしょうc
> c(list(1, 2), list(3, 4))
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
をstringsAsFactors
を指定することができます。
options(stringsAsFactors=FALSE)
スクリプトの先頭でこれを設定すると、強制されますこのスクリプトを通して開いているすべてのRセッションに対してこのオプションを設定するには、.Rprofile
に追加することもできます。
rbindはdeparse.level(stringsAsFactorsではない)引数のみを持ちます。 –
あなたのデータを垣間見るのはいかがですか? - 最小限の再現可能な例(例: 'dput(readLines("/home/jianfezhang/adoption.txt "、n = 5))') – BenBarnes