首页 > 解决方案 > 将数据框与一列中的列表保存为制表符分隔的单个条目“.txt”文件

问题描述

我在 R 中有以下数据框:

> dput(df)
structure(list(rowname = c("1", "2", "3"), col1 = c("A B", "A B C D", 
"C D E")), .Names = c("rowname", "col1"), row.names = c(NA, 3L
), class = "data.frame")

第二列包含不同长度的列表。我想以“.txt”文件的形式保存它,其中列表的每个元素都是制表符分隔的。输出应如下所示:

1 A B
2 A B C D
3 C D E

有没有办法做到这一点?

标签: r

解决方案


这可以通过首先折叠列表来实现:

for (i in 1:dim(df)[1]){
   df$col1[i] <- paste(unlist(df$col1[i]), collapse = "\t")
}
df$col1 <- unlist(df$col1)

然后保存表

write.table(df, file = file, quote = F, sep = "\t")

推荐阅读