将包含列表列的数据框保存为"分隔的txt文件

时间:2016-11-16 14:34:37

标签: r

我有一个数据框,其中一列是列表; e.g。

x = c("Benny", "Johnny")
y1 = c("Product 1","Product 3","Product 4")
y2 = c("Product 1","Product 2")
myList = vector("list", 2)
myList[[1]] = y1
myList[[2]] = y2

productSales = data.frame(x, cbind(myList), stringsAsFactors = FALSE)
colnames(productSales) = c("Name", "Product")

我成功通过

productSales保存为txt文件
capture.output(twoDifferentPfFlags, file = "result.txt")

但是,我使用此方法的问题是列不会与"分隔,因为使用write.table

当数据框的列包含列表时,有没有办法生成"分隔结果表?

1 个答案:

答案 0 :(得分:2)

我不知道保存列表列的内置方法。在您的特定情况下,您可以通过粘贴值将列表列转换为字符列:

productSales$Product = unlist(lapply(productSales$Product, paste, collapse = ', '))

之后,您可以使用write.table(或更现代的等效内容,例如readr::write_csv)。