1

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

> 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

谁能帮我这个?非常感谢!问候丽莎娜

4

1 回答 1

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
于 2013-05-03T08:21:08.527 回答