【问题标题】:Expand data frame with a split in R [duplicate]在 R 中使用拆分扩展数据框 [重复]
【发布时间】:2013-01-10 23:05:50
【问题描述】:

可能重复:
“unpacking” a factor list from a data.frame

如果我有一个与此类格式相同的数据框

X   geneA,geneB
Y   geneD,geneF
Z   geneH,geneL,geneS

我正在尝试找到一种快速有效的方式来扩展它,以便我可以拆分(用逗号)第二列并分配第一列的相应值来给我这样的东西

X   geneA
X   geneB
Y   geneD
Y   geneF
Z   geneH
Z   geneL
Z   geneS

提前致谢!

【问题讨论】:

    标签: r split


    【解决方案1】:

    这是使用reshape2 包中的melt.list 的解决方案:

    library(reshape2)
    
    dat = read.table(header=FALSE, stringsAsFactors=FALSE,
                     text="X   geneA,geneB
                           Y   geneD,geneF
                           Z   geneH,geneL,geneS")
    
    lst = strsplit(dat$V2, ",")
    names(lst) = dat$V1
    
    res = melt(lst)
    
    res
    #   value L1
    # 1 geneA  X
    # 2 geneB  X
    # 3 geneD  Y
    # 4 geneF  Y
    # 5 geneH  Z
    # 6 geneL  Z
    # 7 geneS  Z
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多