如何删除(例如)每10行中的3行?例如,如果我有一个末尾有100行的dataframe,我需要一个有70行的dataframe (缺少第一行、第二行、第三行、第十一行、第十二行、第十三行等等)。
发布于 2021-01-31 18:08:26
使用一个有100行的玩具数据帧,尝试如下:
df <- data.frame(x = 1:100, y = 1:100)
rem <- as.vector(sapply(1:3, function(i) seq(i, nrow(df), 10)))
df[-rem, ]发布于 2021-01-31 18:20:29
我们可以使用outer来创建一系列要删除的行。
result <- df[-c(outer(seq(1, nrow(df), 10), 0:2, `+`)), ]发布于 2021-01-31 21:09:31
我们可以用rep以一种矢量化的方式做到这一点。
i1 <- seq(1, nrow(df), 10)
out <- df[-(rep(0:2, each = length(i1)) + i1),]数据
df <- data.frame(x = 1:100, y = 1:100)https://stackoverflow.com/questions/65977771
复制相似问题