我有一个数据表,想要从中提取每五行来创建一个新表。是否有命令实现这一目标?
以下是我的数据示例:
count Idf_Nr block
1 1233 B12
2 1233 B12
3 1446 B12
4 1446 B12
5 365 B12
6 365 B12
7 876 B12
8 876 B12
9 842 B12
10 842 B12
11 1092 B12
12 1092 B12
13 923 B12
14 923 B12
15 1266 B12
16 1266 B12
17 256 B12
18 256 B12
19 588 B12
20 588 B12
21 1074 B12
22 1074 B12
23 474 B12
24 474 B12
25 1421 B12
答案 0 :(得分:24)
对于数据框df,您可以将df.new作为:
df.new = df[seq(1, nrow(df), 5), ]
这将每5行创建一个从第1行到第nrow(表的行数)的索引。您可以使用起点和5来提取其他序列。
答案 1 :(得分:7)
如果你想提取5,10 ......
newdf <- df[c(rep(FALSE,4),TRUE), ]
如果是1,6,11,
newdf <- df[c(TRUE,rep(FALSE,4)), ]
答案 2 :(得分:3)
此任务的一种dplyr
可能性是:
df %>%
slice(which(row_number() %% 5 == 1))
count Idf_Nr block
1 1 1233 B12
2 6 365 B12
3 11 1092 B12
4 16 1266 B12
5 21 1074 B12
答案 3 :(得分:0)
df<-df[c(seq(0,25,5)),]
其中 df 是您的数据框。