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