我想在每个相邻的行中插入一行,例如,像这样的原始数据框:
ID x y z value
1 1 1 1 2
2 4 7 9 3
3 9 2 5 8
4 8 6 1 4
5 7 3 5 9
插入行后,数据框应如下所示:
ID x y z value
1 1 1 1 2
3 5 NA NA NA
2 4 7 9 3
8 1 NA NA NA
3 9 2 5 8
6 3 NA NA NA
4 8 6 1 4
9 7 NA NA NA
5 7 3 5 9
10 8 NA NA NA
我有两个选项,第一个是直接向每一行添加新行,第二个是向数据帧添加两列,然后将一行拆分为两行。 那么如何处理这种情况呢?提前谢谢!
答案 0 :(得分:0)
我无法理解您希望在哪里获取要插入数据框的数据。所以,我做了一个假集data2
。请参考下面的代码,应该适合您的需要。
data <- read.table(text= "ID x y z value
1 1 1 1 2
2 4 7 9 3
3 9 2 5 8
4 8 6 1 4
5 7 3 5 9", header=T)
data2 <- data.frame(matrix(rnorm(2*nrow(data)),nrow(data)))
names(data2) <- names(data)[1:ncol(data2)]
combined <- plyr::rbind.fill(data,data2)
n <- nrow(data)
combined[kronecker(1:n, c(0, n), "+"),]