Как мне установить подмножество данных на основе номеров индексов? - PullRequest
0 голосов
/ 09 февраля 2019

Во-первых, я новичок.Я искал ответ и не мог его найти.

Итак, у меня есть фрейм данных из 50k + строк.Я хочу создать два новых фрейма данных: один с строкой 0: 28120 в исходном фрейме данных, а другой с остальными.

Кто-нибудь знает, как это сделать?

Я пытался сделать следующее:

df.tory <- df [c (0: 28120),] </p>

df.labour <- df [c (28121: 53814),] </p>

Создает новые фреймы данных, но когда я суммирую данные для нового фрейма данных, включаются все строки (те, которые там не должны отображаться с 0 в их значениях)

Ответы [ 3 ]

0 голосов
/ 09 февраля 2019

Вы должны использовать диапазон непосредственно при настройке, например,

cutoff <- 28120
df.tory <- df[1:cutoff, ]
df.labour <- df[(cutoff+1):nrow(df), ]
0 голосов
/ 09 февраля 2019

вы можете использовать slice из tidyverse, чтобы выбрать только нужные вам строки по индексу.

df1 <- df %>% 
  slice(1:28120)

df2 <- df %>% 
  slice(28121:53814)

или для последнего вы можете использовать

df2 <- df %>%
  slice(28121:n())

, чтобы указатьвсе оставшиеся строки.

0 голосов
/ 09 февраля 2019

Во-первых, обратите внимание, что индексы в R начинаются с 1, а не с 0. Попробуйте следующее:

inds1 <- 1:28120

Затем найдите остаток с помощью:

inds2 <- setdiff(inds1, 1:nrow(df))

Затем вы можете определитьдва кадра данных как:

df1 <- df[inds1, ]
df2 <- df[inds2, ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...