R 在 8 行后添加空行

R add empty row after 8 rows

我想在整个数据集中每 8 行后添加一个空行。实际的是这样的:

原始数据集

我想得到的最终结果是:

预期数据集

提前致谢。

cur <- rbind(df[1:8,], NA)
for(i in seq(from = 9, to = length(df), by = 8) {
    cur <- rbind(df[i:(i+7),], NA)
}

此答案适用于数字列。

最初,对于前八个观察值,您可以生成一个矩阵,该矩阵是长度为 8 的向量和一个附加的 NA 列:v<- c(rep(1, 8),NA)

然后您可以使用原始矩阵 kronecker 乘积:kron(a,v)(在 av 上应用 as.matrix 后)。

这应该可以使用循环扩展每第 8 行。

对于字符列,您可以首先使用 seq 定义的循环将其 rbind 一个 NA 行分隔到每个第 8 个元素,然后 cbind 它回到数字矩阵。