我有一个包含多个组的数据框,这些组出现在各种示例中,并希望按示例进行组织
我有几组具有不同值的变量。每个组都是一个样本的一部分,并且可能会出现在多个样本中(不同样本的值恰好不同),但可能并非如此。 我希望对数据框进行组织,以便每一行都是一个样本,每一列都是一个组,对于没有值的样本,应该添加一个0。
Groups<-sample(1:9,replace = T)
SampData<-data.frame(Group=LETTERS[Groups],Value=sample(1:9,replace = T),Sample=c(1,2,3,1,1,2,2,4,3))
这是一个示例数据框:
Group Value Sample
1 A 5 1
2 I 5 2
3 A 1 3
4 H 7 1
5 E 7 1
6 D 6 2
7 B 1 2
8 E 4 4
9 B 6 3
我想对其进行重组,使其看起来像这样:
A B D E H I
1 5 0 0 7 7 0
2 0 1 6 0 0 5
3 1 6 0 0 0 0
4 0 0 0 4 0 0
答案 0 :(得分:0)
您可以在dcast
中使用reshape2
:
library(dplyr)
library(reshape2)
set.seed(123)
Groups<-sample(1:9,replace = T)
SampData<-data.frame(Group=LETTERS[Groups],Value=sample(1:9,replace = T),Sample=c(1,2,3,1,1,2,2,4,3))
df <- SampData %>%
dcast(Sample ~ Group, value.var = "Value", fun.aggregate = sum)