Я хочу разбить большой фрейм данных в список данных в соответствии со значениями в двух столбцах. Затем я хочу применить общее преобразование данных для всех фреймов данных (преобразование лаг) в результирующий список. Я знаю команду split, но могу заставить ее работать только с одним столбцом данных.Разделить данные с использованием двух столбцов данных и применить общее преобразование в списке результирующих кадров данных
25
A
ответ
6
как об этом один:
library(plyr)
ddply(df, .(category1, category2), summarize, value1 = lag(value1), value2=lag(value2))
походит на работу для plyr
отличном пакета и ddply()
функции. Если есть все еще открытые вопросы, пожалуйста, предоставьте некоторые примеры данных. Нарезка должна работать на нескольких колонках, а также:
df<- data.frame(value=rnorm(100), class1=factor(rep(c('a','b'), each=50)), class2=factor(rep(c('1','2'), 50)))
g <- c(factor(df$class1), factor(df$class2))
split(df$value, g)
38
Вы должны поместить все факторы, которые необходимо разделить на в списке, например:
split(mtcars,list(mtcars$cyl,mtcars$gear))
Затем вы можете использовать lapply
на это сделать что еще вы хотите сделать.
Смежные вопросы
- 1. Сравнение двух столбцов двух разных кадров данных
- 2. Как применить функцию прогнозирования к количеству кадров данных в списке?
- 3. умножение двух кадров данных
- 4. группировка кадров данных в списке
- 5. Объединение двух кадров данных и заполнение пустых столбцов
- 6. вычитание двух кадров данных
- 7. объединение двух кадров данных с условиями
- 8. Объединение двух кадров данных в R и возвращает все данные
- 9. Преобразование списка кадров данных в таблице данных
- 10. Объединение двух кадров данных с теми же именами столбцов
- 11. Разделить данные на несколько небольших кадров данных в R
- 12. Добавить более двух кадров данных в pandas
- 13. Чередование п столбцов двух кадров данных в R
- 14. Применение seq.Date с использованием двух столбцов данных.
- 15. Как применить общее свойство css для двух отдельных столбцов
- 16. Добавление двух кадров данных pandas
- 17. Сравнение двух кадров данных с различными строк с использованием R
- 18. сравнения двух панд кадров данных
- 19. Преобразование списка кадров данных в один фрейм данных и изменение имен столбцов
- 20. Соответствие двух столбцов разных фреймов данных
- 21. Элементарное добавление двух матриц/кадров данных
- 22. Объединение кадров данных с неравным числом столбцов
- 23. Применить функцию кадрирования по списку кадров данных
- 24. сопоставление двух кадров данных и значений изменений в одном из кадров данных
- 25. Стек кадров панды данных с использованием выбранных столбцов
- 26. Как разделить кадр данных на несколько кадров данных на основе столбцов
- 27. Преобразование списка кадров данных в отдельные кадры данных в R
- 28. Преобразование двух информационных кадров в искровом sql
- 29. Применение «сложной» функции n раз и запись результатов с использованием данных из столбцов двух отдельных кадров данных
- 30. Объединение двух кадров данных с неоднородными ключами
Спасибо за ответы! Выяснилось, что мне нужно было поместить переменные split в список и позаботиться о проблеме «расщепления», используя два vars. Прочитайте пакет plyr, и он действительно мощный. Не могу заставить его делать то, что я хочу, однако. Пробовал эту команду: llply (1: length (List), function (i) {temp <-List [[i]] $ a; Список [[i]] $ b <-append (head (temp, -1), na, after = 0)}) и ожидали найти новую переменную 'b' в каждом кадре данных, содержащемся в «List». Команда выводит на экран список результатов [[i]] $ b. Что я неправильно понял? – user1160760