R 将带有列表的数据帧写入CSV
我正在使用从facebook营销API导入数据 其中一个字段--R 将带有列表的数据帧写入CSV,r,R,我正在使用从facebook营销API导入数据 其中一个字段--website\u purchase\u roas是一个字段列表 如何将其放入CSV website_purchase_roas date_stop 1 0.673001 offsite_conversion.fb_pixel_purchase, 6.506892 2018-10-11 2 1.369035 offsite_conversion.fb_pixel_purchase, 0.594109 2018-10-
website\u purchase\u roas
是一个字段列表
如何将其放入CSV
website_purchase_roas date_stop
1 0.673001 offsite_conversion.fb_pixel_purchase, 6.506892 2018-10-11
2 1.369035 offsite_conversion.fb_pixel_purchase, 0.594109 2018-10-11
3 2.084238 NULL 2018-10-11
4 1.31209 NULL 2018-10-11
5 2.337662 NULL 2018-10-11
6 0.996678 NULL 2018-10-11
7 1.936385 offsite_conversion.fb_pixel_purchase, 1.482508 2018-10-11
8 2.777778 NULL 2018-10-11
9 0 NULL 2018-10-11
10 1.994885 NULL 2018-10-11
11 2.402023 NULL 2018-10-11
12 4.635056 offsite_conversion.fb_pixel_purchase, 5.222421 2018-10-11
13 0 NULL 2018-10-11
14 1.990291 NULL 2018-10-11
15 6.557377 NULL 2018-10-11
16 3.703704 NULL 2018-10-11
17 3.038936 NULL 2018-10-11
到目前为止,我一直在使用
write.table(get(fileName),paste0(“/home/rstudio/”,fileName),append=TRUE,na=“na”,row.names=FALSE,sep=“,”,col.names=FALSE)
但是当然,这不能处理列表,我需要首先展平数据帧。您可以从
data.table
程序包中使用fwrite
,该程序包有一个sep2
参数,该参数确定使用什么作为list
列的分隔符
请参见?数据表::fwrite
例如:
library(data.table)
set.seed(01349)
DT = data.table(
V1 = rchisq(5, 5),
l_col = lapply(integer(5L), function(x) rnorm(sample(3L, 1L)))
)
fwrite(DT)
# V1,l_col
# 8.55552022121412,-0.865231813182414
# 1.24426281601847,-0.193327839843266|0.215528624259188|0.347253218410811
# 3.43283896352093,0.87954526007159
# 7.60971421627405,-2.37928159590364
# 8.83757675994184,-0.981183793508651|-1.29924540435512
我得到的第4列的长度(28)与第1列的长度(29)不同,但我实际上在寻找一种方法,将此列表转换为数据帧的扁平列,而不是将它们与数据帧的其余部分区分开来columns@Simrankaur这与你的问题中所问的大不相同。根据所需的输出,使用
unest
或as.data.table
甚至toString
。谢谢。我是R的新手。如果我没有正确表达我的问题,请道歉。您介意为我的用例共享一个示例吗?另外,unnest会导致列表中出现多行而不是多列