Я работаю с большими наборами данных. Я должен извлекать значения из одного набора данных, идентификаторы для значений хранятся в другом наборе данных. Поэтому в основном я подмножество дважды для каждого значения одной категории. Для нескольких категорий мне нужно объединить такие значения с двумя подмножествами. Поэтому я делаю что-то похожее на это, как показано ниже, но я думаю, что должен быть лучший способ сделать это.Последовательное подмножество в R
пример набора данных
set.seed(1)
df <- data.frame(number= seq(5020, 5035, 1), value =rnorm(16, 20, 5),
type = rep(c("food", "bar", "sleep", "gym"), each = 4))
df2 <- data.frame(number= seq(5020, 5035, 1), type = rep(LETTERS[1:4], 4))
значение экстракта для марки А
asub_df2 <-subset(df2, type == "A")
asub_df <-subset(df, number == asub_df2$number)
new_a <- cbind(asub_df, grade = rep(c("A"),nrow(asub_df)))
аналогично извлечь значение для класса B в new_b
и объединяются, чтобы сделать какой-либо анализа.
мы можем использовать
привет akrun, у меня не было много практики 'lapply' и т.д. может у разработать, как я могу использовать его ? – pdm
Возможно, 'lapply (split (df2, df2 $ type), function (x) transform (subset (df, number == x $ number), grade = x $ type [1]))' – akrun
'df2 <- data. frame (number = seq (5020, 5035, 1), type = rep (ПИСЬМА [1: 4], 4)) 'это то, что вы просите меня показать? – pdm