Как выбрать строки на основе заранее определенных пробелов (R)? - PullRequest
0 голосов
/ 04 мая 2018

Недавно я опубликовал еще один вопрос, спрашивающий, как я могу создать новый data.frame на основе переменной colunm. Я думал, что это решит мою проблему, но теперь я понимаю, что спрашивал не то. Что я имею в виду под своим вопросом, как я могу выбрать строки в постоянном промежутке и создать новый data.frame с ними? Мол, если у меня есть:

1   A   B   C
2   D   E   F
3   G   H   I
4   J   K   L
5   M   N   O
6   P   Q   R 

Я хочу выбрать строки, которые растут в два-два типа:

2  D   E   F
4  J   K   L
6  P   Q   R

Но на самом деле в моем случае мне нужно выбрать строки с 40 по 40 и создать с ними новый data.frame.

Извините за еще один пост, но я буду очень рад, если вы, ребята, могли бы помочь мне. Я новый пользователь R.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Вы можете использовать базовые функции R, если не хотите загружать дополнительные пакеты:

Вариант 1

df[seq_len(nrow(df))%%2==0,]

Вариант 2

subset(df, seq_len(nrow(df))%%2==0)
0 голосов
/ 04 мая 2018

С пакетом dplyr это очень просто.

library(dplyr)
test %>% dplyr::filter(row_number() %% 2 == 0)

Обычно вы звоните по номеру строки и выбираете только четные. Если вы хотите перейти на каждые 40 строк, вы будете делать row_number() %% 40 == 0. Если вы хотите начать с другой строки и получить каждые 40 строк, вам просто нужно заменить 0 на другое число, так как оператор %% выполняет модульное деление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...