从三个单独的列表创建一个 .csv 文件
Posted
技术标签:
【中文标题】从三个单独的列表创建一个 .csv 文件【英文标题】:Creating a .csv file from three seperate list 【发布时间】:2022-01-05 19:25:01 【问题描述】:使用下面的两个列表,我想导出一个 .csv 文件,该文件的值来自 l2
和 l3
在各自的单独列中。在l
中的这些唯一名称中,有一个字母(例如,A、B、C)和一个数字(例如,2001、2002、2003)。我会对它们进行分区,以便字母有自己的列,而数字有一个单独的列。
预期输出:
Letter | Number | Values from l2
|
Values from l3
|
---|---|---|---|
A | 2001 | 10 | 15 |
B | 2002 | 11 | 16 |
C | 2003 | 12 | 17 |
l <- list("A_2001","A_2001","B_2002","B_2002", "C_2003", "C_2003")
l2 <- list("1"= 10,
"2" = 11,
"3" = 12)
l3 <- list("1"= 15,
"2" = 16,
"3" = 17)
【问题讨论】:
【参考方案1】:根据输入,我们可以unlist
和list
元素并使用read.table
和transform
创建data.frame - 获取'l'、unlist
的unique
元素,读取read.table
将 _
指定为 sep
以创建两列 data.frame,然后 unlist
'l2' 和 'l3' 以在数据集中添加新列
out <- transform(read.table(text = unlist(unique(l)), header = FALSE,
col.names = c("Letter", "Number"), sep = "_"),
Values_from_l2 = unlist(l2), Values_from_l3 = unlist(l3))
-输出
out
Letter Number Values_from_l2 Values_from_l3
1 A 2001 10 15
2 B 2002 11 16
3 C 2003 12 17
【讨论】:
read.table
的绝招。
@r2evans 你为什么要删除你的帖子。不过,strsplit
似乎有所不同
是的,这是一种比这更好的蛮力方法。以上是关于从三个单独的列表创建一个 .csv 文件的主要内容,如果未能解决你的问题,请参考以下文章