如何在R中的每一行之间添加一行?

eco*_*gul 3 row r dataframe

我试图找出如何在每行之间添加一行data.frame.例如:

xdf <- data.frame(name = c(letters[1:5]),
              w1 = runif(5, min = 1, max = 10),
              w2 = runif(5, min = 10, max = 20))

name       w1       w2
1    a 7.217998 14.51789
2    b 6.583311 13.01331
3    c 1.655201 18.83256
4    d 1.117273 19.81330
5    e 2.925724 13.21518
Run Code Online (Sandbox Code Playgroud)

所以,我们假设我们的行只是第5行是e,我所说的是:

name       w1       w2
1    a 7.217998 14.51789
     e 2.925724 13.21518
2    b 6.583311 13.01331
     e 2.925724 13.21518
3    c 1.655201 18.83256
     e 2.925724 13.21518
4    d 1.117273 19.81330
     e 2.925724 13.21518
5    e 2.925724 13.21518
Run Code Online (Sandbox Code Playgroud)

提前致谢.

akr*_*run 6

我们可以rbind使用最后一行(nrow),concatenate(c)的行序列,使用它来对数据集进行子集化,删除最后一行head,并将行名称设置为NULL.

`row.names<-`(head(xdf[c(rbind(1:nrow(xdf), nrow(xdf))),],-1), NULL)
#   name       w1       w2
#1    a 7.217998 14.51789
#2    e 2.925724 13.21518
#3    b 6.583311 13.01331
#4    e 2.925724 13.21518
#5    c 1.655201 18.83256
#6    e 2.925724 13.21518
#7    d 1.117273 19.81330
#8    e 2.925724 13.21518
#9    e 2.925724 13.21518
Run Code Online (Sandbox Code Playgroud)