R:以其他方式从数据框报告数据

时间:2013-05-03 07:52:20

标签: r dataframe

我有一个关于从另一个数据帧生成数据帧的问题。新数据帧包含与旧数据帧相同的信息,但以其他方式报告数据。要开始的数据框如下所示:

> a
Gene.Symbol      miRNA
    Nap1l1       mmu-let-7a
    Napepld      mmu-let-7b
    Nat8l        mmu-let-7b
    Nceh1        mmu-let-7b
    Ncoa3        mmu-let-7a
    Ndst2        mmu-let-7a
    Ndst3        mmu-let-7a
    Nedd4l       mmu-let-7a
    Nedd4l       mmu-let-7b
    Nefm         mmu-let-7a

现在我想将数据帧转换为如下所示的数据帧。

>b               mmu-let-7a    mmu-let-7b
    Nap1l1       1             0 
    Napepld      0             1
    Nat8l        0             1
    Nceh1        0             1
    Ncoa3        1             0
    Ndst2        1             0
    Ndst3        1             0
    Nedd4l       1             1
    Nefm         1             0

任何人都可以帮我吗? 非常感谢! 关心Lisanne

1 个答案:

答案 0 :(得分:2)

使用reshape2

require(reshape2)
df$z <- 1
dcast(df, Gene.Symbol ~ miRNA, value.var="z", fill=0)
#   Gene.Symbol mmu-let-7a mmu-let-7b
# 1      Nap1l1          1          0
# 2     Napepld          0          1
# 3       Nat8l          0          1
# 4       Nceh1          0          1
# 5       Ncoa3          1          0
# 6       Ndst2          1          0
# 7       Ndst3          1          0
# 8      Nedd4l          1          1
# 9        Nefm          1          0