#r #subset
#r #подмножество
Вопрос:
У меня есть большой фрейм данных, подобный следующему
Я хочу сохранить равные наблюдения на идентификатор (в данном случае только 3) также я хочу сохранить достаточные интервалы между наблюдениями (т. Е. сохранить первое и последнее, а другое — между ними) как я могу подмножить свои данные и сохранить только требуемые
итак, финал будет таким
Комментарии:
1. URL-адреса изображений повреждены
2. Пожалуйста, используйте
dput
, чтобы предоставить некоторые данные для работы. Какой код вы пробовали? Существуют ли какие-либо правила для выбора «среднего» идентификатора / наблюдения?3. Попробуйте
library(dplyr); df %>% group_by(ID) %>% sample_n(3)
Ответ №1:
Мы можем попробовать с data.table
library(data.table)
setDT(df1)[, .SD[c(1,.N/2, .N)], by = ID]
Комментарии:
1. Не хватает запятой: setDT(df1)[, .SD[c(1,.N/2, .N)], by = ID]