R匹配多个突变列

问题描述

我正在处理一个适合我的研究的大型数据集。假设我有4个观察(记录)和5列,如下所示:

x <- data.frame("ID" = c(1,2,3,4),"group1" = c("A",NA,"B",NA),"group2" = c("B","A","C"),"hours1" = c(3,5,"hours2" = c(1,5))

> x
ID group1 group2 hours1 hours2
 1      A      B      3      1
 2   <NA>      A     NA      2
 3      B   <NA>      5     NA
 4   <NA>      C     NA      5

“ group1”和“ group2”是包含A,B和C字符值的参考列,最后两列“ hours1”和“ hours2”是明显表示小时的数字。

“ group1”列对应于“ hours1”列;同样,“ group2”对应于“ hours 2”。

我想根据与“ hours1”和“ hours2”的值匹配的参考列的值A,B和C创建多个列,如下所示:

ID group1 group2 hours1 hours2  A  B  C
 1      A      B      3      1  3  1 NA
 2   <NA>      A     NA      2  2 NA NA
 3      B   <NA>      5     NA NA  5 NA
 4   <NA>      C     NA      5 NA NA  5

例如,ID 1在“ group1”中具有A,对应于在“ A”栏中找到的“ hours1”中的3。 ID 3在“ group1”中具有B,对应于在“ B”列下找到的“ hours1”中的5。在“组2”中,ID 4具有C,对应于在“ C”列下找到的小时2中的5。

有没有办法使用R做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)