У меня есть датафрейм с 288 строками и 4 столбцами. Мне нужны только значения строк 12, 24, 36, ..., 288, то есть регулярные интервалы 12, как я могу это сделать?
В дополнение к ответу, приведенному выше, вы также можете попробовать секвенирование в методе индексации.
df <- data.frame(a = 1:288, b = sample(LETTERS, 288, replace = T)) # new data frame df1 <- df[seq(12,288,12),] df1
Вы можете использовать функцию slice() из пакета dplyr
slice()
dplyr
P.S .: в следующий раз, пожалуйста, предоставьте воспроизводимую проблему с данными и кодом, чтобы другие могли помочь. Подробнее здесь: Как сделать великолепный воспроизводимый пример R?
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
Создано в 2018-10-31 пакетом Представление (v0.2.1.9000)