write()
を使用し、出力を画面/ファイルに送信するときに属性cat()
を削除します。"names"
R> cat(fav.activities)
swiming basketball baseball footballR>
ベクトルをテキスト/区切りファイルに読み上げたい場合、1 つのオプションは行列に強制し、次を使用することwrite.table()
です。
R> write.table(t(as.matrix(fav.activities)), "foo.txt", row.names = FALSE)
R> readLines("foo.txt")
[1] "\"Tom\" \"Ben\" \"Paul\" \"Ann\""
[2] "\"swiming\" \"basketball\" \"baseball\" \"football\""
余分な\"
ものは、R が文字列をコンソールに出力する方法です。私のOSから、ファイルは次のようになります。
$ cat foo.txt
"Tom" "Ben" "Paul" "Ann"
"swiming" "basketball" "baseball" "football"
つまり、スペース区切りのファイルです。他のセパレーターを定義できます。を参照してください?write.table
。
後の R セッションで使用するためにベクトルを読み取るだけの場合は、次のsave()
2saveRDS()
つのオプションがあります。
ls()
save(fav.activities, file = "obj.rda")
rm(list = ls())
load("obj.rda")
ls()
saveRDS(fav.activities, file = "obj2.rds")
new.fav <- readRDS("obj2.rds")
ls()
all.equal(fav.activities, new.fav)
この出力で:
R> ls()
[1] "fav.activities"
R> save(fav.activities, file = "obj.rda")
R> rm(list = ls())
R> load("obj.rda")
R> ls()
[1] "fav.activities"
R> saveRDS(fav.activities, file = "obj2.rds")
R> new.fav <- readRDS("obj2.rds")
R> ls()
[1] "fav.activities" "new.fav"
R> all.equal(fav.activities, new.fav)
[1] TRUE
との主な違いはsave()
、saveRDS()
前者はオブジェクトとその名前を保存するため、同じオブジェクト名でしか復元できないことです。一方saveRDS()
、シリアル化されたオブジェクトをRセッションにロードするときにオブジェクトに割り当てる必要があるオブジェクトをシリアル化するだけです。