write.table(dataset, "dataset.txt", q-6ren">
gpt4 book ai didi

r - 如何将带有一列列表的数据框写入文件?

转载 作者:行者123 更新时间:2023-12-04 02:01:46 24 4
gpt4 key购买 nike

这是我的虚拟数据集:

dataset<-data.frame(a=c(1,2,3,4),b=c('a','b','c','d'), c=c("HI","DD","gg","ff"))
g=list(c("a","b"),c(2,3,4), c(44,33,11,22),c("chr","ID","i","II"))
dataset$l<-g
dataset

a b c l
1 1 a HI a, b
2 2 b DD 2, 3, 4
3 3 c gg 44, 33, 11, 22
4 4 d ff chr, ID, i, II

> mode(dataset$l)
[1] "list"

当我尝试将数据集写入文件时:
> write.table(dataset, "dataset.txt", quote=F, sep="\t")
Error in write.table(x, file, nrow(x), p, rnames, sep, eol, na, dec, as.integer(quote), :
unimplemented type 'list' in 'EncodeElement'

我怎么解决这个问题?

最佳答案

保存的输出不可读。 dump 或 dput 的输出是 ASCII 格式的,对于了解 R 对象结构的人来说是可读的,但我猜你希望它以更传统的方式排列。

>  apply(dataset, 1, function(x) paste(x, sep=",", collapse=","))
[1] "1,a,HI,c(\"a\", \"b\")"
[2] "2,b,DD,c(2, 3, 4)"
[3] "3,c,gg,c(44, 33, 11, 22)"
[4] "4,d,ff,c(\"chr\", \"ID\", \"i\", \"II\")"

反斜杠不会出现在文本文件输出中:
 writeLines(con="test.txt", apply(dataset, 1, function(x) paste(x, sep=",", collapse=",")))
#-------output-----
1,a,HI,c("a", "b")
2,b,DD,c(2, 3, 4)
3,c,gg,c(44, 33, 11, 22)
4,d,ff,c("chr", "ID", "i", "II")

关于r - 如何将带有一列列表的数据框写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com