R在每一行附加一个新行

时间:2016-08-27 03:02:56

标签: r

我想在每个相邻的行中插入一行,例如,像这样的原始数据框:

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

我有两个选项,第一个是直接向每一行添加新行,第二个是向数据帧添加两列,然后将一行拆分为两行。 那么如何处理这种情况呢?提前谢谢!

1 个答案:

答案 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), "+"),]