我有一些数据数组需要组合(堆叠)到一个数据框中进行分析。但是,某些个体的数据缺失。由于我事先不知道变量的完整列表,因此希望找到一种灵活的解决方案来堆叠这些数据。
示例:
a <- c(1,2,3,4,5,6)
names(a) <- c("A","B","C","D","E","F")
b <- c(1,1,1,1)
names(b) <- c("C","F","G","H")
c <- c(2,2,2)
names(c) <- c("A","D","H")
期望的结果:
result <- data.frame(rbind(
c(1,2,3,4,5,6, NA, NA),
c(NA, NA, 1, NA, NA, 1, 1 , 1),
c(2, NA, NA, 2, NA, NA, NA, 2) ) )
names(result) <- c("A","B","C","D","E","F","G","H")
result
当第四行数据到来时,理想情况下,它应该被添加到现有的变量中(如果适用),在缺失值处显示NA
,并在数据框中添加新变量(如果尚不存在)。可能可以编写一些复杂的(慢速)for循环,但必须有一个函数/包允许这样做。