【问题标题】:Creating a .csv file from three seperate list从三个单独的列表创建一个 .csv 文件
【发布时间】:2022-01-05 19:25:01
【问题描述】:

使用下面的两个列表,我想导出一个 .csv 文件,该文件的值来自 l2l3 在各自的单独列中。在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)

【问题讨论】:

    标签: r list


    【解决方案1】:

    根据输入,我们可以unlistlist 元素并使用read.tabletransform 创建data.frame - 获取'l'、unlistunique 元素,读取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 似乎有所不同
    • 是的,这是一种比这更好的蛮力方法。
    猜你喜欢
    • 2015-03-21
    • 2022-01-11
    • 2013-10-28
    • 2020-08-31
    • 2020-06-18
    • 2021-07-21
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多