【发布时间】:2016-07-19 02:02:21
【问题描述】:
这可能是一个新手问题,但我到处搜索,找不到解决方法。我在 R 中有一个如下所示的数据框:
Target Sample Regulation
AKT1 00h 1.00000
AKT1 02h 1.27568
AKT1 06h -1.29813
AKT1 12h 1.12357
AKT1 48h 1.02284
AKT2 00h 1.00000
AKT2 02h 1.08692
AKT2 06h 1.19489
AKT2 12h -1.07677
AKT2 48h -1.18955
data$Target 和 data$Sample 是 class=factor
我需要创建一个如下所示的表格:
Target/Sample AKT1 AKT2
00h 1.00000 1.00000
02h 1.27568 1.08692
06h -1.29813 1.19489
12h 1.12357 -1.07677
48h 1.02284 -1.18955
换句话说,我需要创建一个新的数据框,其中列是 data$Target 级别,行是 data$Sample 级别,并使用 data$Regulation 中的相应值填充它。
这是我能想到的:
newdata <- data.frame(Time=levels(data$Sample),
AKT1=as.numeric(data$Regulation[which(dat$Target=="AKT1",)]))
但我当然不想一一进行,因为 dat$Target 有 >100 个级别(基因)。请帮忙!
非常感谢大家!
【问题讨论】:
-
尝试查看 reshape2 包中的 dcast
-
这是一个很好的链接cookbook-r.com/Manipulating_data/…
标签: r