如何在数据框中每3个现有行插入空白行?

问题描述 投票:0回答:1

如何在数据框中每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

非常感谢您的帮助。

r dataframe add each blank-line
1个回答
0
投票
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来使显示的行空白,但是这会将您的列转换为字符,因此我不建议这样做。

© www.soinside.com 2019 - 2024. All rights reserved.