【发布时间】:2018-10-30 20:12:18
【问题描述】:
我有一个包含 288 行和 4 列的数据框。我只需要第12、24、36、...、288行的值,也就是12的固定间隔,怎么办?
【问题讨论】:
我有一个包含 288 行和 4 列的数据框。我只需要第12、24、36、...、288行的值,也就是12的固定间隔,怎么办?
【问题讨论】:
您可以使用dplyr 包中的slice() 函数
P.S:下次请提供可重现的数据和代码问题,以便其他人可以提供帮助。在此处查看更多信息:How to make a great R reproducible example?
library(tibble)
library(dplyr)
chosen_vect <- seq(12, 120, 12)
chosen_vect
#> [1] 12 24 36 48 60 72 84 96 108 120
iris %>%
rownames_to_column() %>% # to test if we slice the right rows
slice(chosen_vect)
#> rowname Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1 12 4.8 3.4 1.6 0.2 setosa
#> 2 24 5.1 3.3 1.7 0.5 setosa
#> 3 36 5.0 3.2 1.2 0.2 setosa
#> 4 48 4.6 3.2 1.4 0.2 setosa
#> 5 60 5.2 2.7 3.9 1.4 versicolor
#> 6 72 6.1 2.8 4.0 1.3 versicolor
#> 7 84 6.0 2.7 5.1 1.6 versicolor
#> 8 96 5.7 3.0 4.2 1.2 versicolor
#> 9 108 7.3 2.9 6.3 1.8 virginica
#> 10 120 6.0 2.2 5.0 1.5 virginica
由reprex package (v0.2.1.9000) 于 2018 年 10 月 31 日创建
【讨论】:
除了上面的答案,你还可以尝试在索引方法中排序。
df <- data.frame(a = 1:288, b = sample(LETTERS, 288, replace = T))
# new data frame
df1 <- df[seq(12,288,12),]
df1
【讨论】: