我有一个reference
表,其中包含一个样本列表,以及已经添加到表中的几个值(这里:Value1
):
reference <- data.frame(sample=letters[1:5], Value1=1:5)
> reference
sample Value1
1 a 1
2 b 2
3 c 3
4 d 4
5 e 5
字符串
在这个表中,我需要添加属于各个样本的其他数据(这里:Value2
到Value4
)(每个样本的数据= myinput
:
myinput_a <- data.frame(sample="a", Value2=3, Value3=5, Value4=9)
myinput_a
sample Value2 Value3 Value4
1 a 3 5 9
myinput_b <- data.frame(sample="b", Value2=5, Value3=0, Value4=2)
myinput_c <- data.frame(sample="c", Value2=7, Value3=1, Value4=3)
型
这些myinputs与reference
共享sample
变量,因此必须将它们追加到正确的行。
这是我们想要的最终结果(注意,d和e没有相加,所以有一些NA
值:
myoutput <- data.frame(sample=letters[1:5], Value1=1:5, Value2=c(3,5,7,NA,NA), Value3=c(5,0,1,NA,NA), Value4=c(9,2,3,NA,NA))```
> myoutput
sample Value1 Value2 Value3 Value4
1 a 1 3 5 9
2 b 2 5 0 2
3 c 3 7 1 3
4 d 4 NA NA NA
5 e 5 NA NA NA
型
实际上,样本和值的数量非常大,所以我想把整个事情设计成一个循环。我不明白的是,当添加第一个样本时,我添加了列,而对于所有后续样本,我添加了行。我很感激任何关于如何设计方法的建议!
2条答案
按热度按时间wyyhbhjk1#
使用
rbind
按行绑定你的输入框架,然后使用merge
连接到你的引用框架:字符串
或者使用
dpylr
,你可以这样做:型
kgqe7b3p2#
另一个使用
cbind
的基础R解决方案:字符串