【发布时间】:2021-05-17 19:05:05
【问题描述】:
我有两个数据框。我试图在一个中使用信息来减少另一个中的二进制列的数量。 df1 是一些样本数据,其中 var 是基因变异的存在或不存在,ID = 个体。
df1 <- data.frame(ID = c(1, 2, 3, 4, 5, 6),
var1 = c(1, 1, 0, 0, 1, 0),
var2 = c(1, 0, 0, 0, 1, 0),
var3 = c(0, 0, 0, 1, 0, 1),
var4 = c(0, 0, 1, 0, 0, 0))
df2 是将基因变体更新为更一般的类别。这里,var1 和 var2 归类在一起(gen = 1),var3 和 var4 归类在一起(gen = 2)。
df2<-data.frame(ID = c('var1','var2','var3','var4'),
gen = c(1,1,2,2))
我希望我的最终数据表显示这些更通用的基因变异类别的存在或不存在,如下所示:
df3<-data.frame(ID = c(1, 2, 3, 4, 5, 6),
var1 = c(1, 1, 0, 0, 1, 0),
var2 = c(1, 0, 0, 0, 1, 0),
var3 = c(0, 0, 0, 1, 0, 1),
var4 = c(0, 0, 1, 0, 0, 0),
gen1 = c(1,1,0,0,1,0),
gen2 = c(0,0,1,1,0,1))
> df3
ID var1 var2 var3 var4 gen1 gen2
1 1 1 1 0 0 1 0
2 2 1 0 0 0 1 0
3 3 0 0 0 1 0 1
4 4 0 0 1 0 0 1
5 5 1 1 0 0 1 0
6 6 0 0 1 0 0 1
我知道一定有办法解决这个问题,但我就是想不通。 任何建议将不胜感激。谢谢。
【问题讨论】: