如何在数据框中每3个现有行插入空白行?经过网络抓取过程后,我得到了包含所需信息的数据框,但是最终的excel格式要求我每3行添加一个空白行。我已经在网上搜索了帮助,但尚未找到解决方案。
使用假设数据,我的数据框的结构如下:
"ID" = rep(1:3,c(3,3,3)),
"X" = as.character(c("a", "a", "a", "b", "b", "b", "c", "c", "c")),
"Y" = seq(1,18, by=2)
)
mi_df
ID X Y
1 1 a 1
2 1 a 3
3 1 a 5
4 2 b 7
5 2 b 9
6 2 b 11
7 3 c 13
8 3 c 15
9 3 c 17
我希望得到的结果是这样的
ID X Y
1 1 a 1
2 1 a 3
3 1 a 5
4
5 2 b 7
6 2 b 9
7 2 b 11
8
9 3 c 13
10 3 c 15
11 3 c 17
非常感谢您的帮助。
tmp <- split(mi_df, rep(1:(nrow(mi_df) / 3), each = 3))
do.call(rbind, lapply(tmp, function(x) { x[4, ] <- NA; x }))
ID X Y 1.1 1 a 1 1.2 1 a 3 1.3 1 a 5 1.4 NA <NA> NA 2.4 2 b 7 2.5 2 b 9 2.6 2 b 11 2.4.1 NA <NA> NA 3.7 3 c 13 3.8 3 c 15 3.9 3 c 17 3.4 NA <NA> NA
您可以通过分配一个空字符向量(""
)而不是NA
来使显示的行空白,但是这会将您的列转换为字符,因此我不建议这样做。