Я ищу, чтобы применить функцию к кадру данных, а затем сохранить результаты этой функции в новом столбце в фрейме данных.R: применение функции по группе
Вот пример моего кадра данных, tradeData:
Login AL Diff
a 1 0
a 1 0
a 1 0
a 0 1
a 0 0
a 0 0
a 0 0
a 1 -1
a 1 0
a 0 1
a 1 -1
a 1 0
a 0 1
b 1 0
b 0 1
b 0 0
b 0 0
b 1 -1
c 1 0
c 1 0
c 0 1
c 0 0
c 1 -1
Если в колонке «Diff» есть столбец Я пытаюсь добавить. Это просто разница между значениями строк (x-1) и строки (x) tradeData, сгруппированными по имени пользователя.
Вот некоторые примеры того, что я пробовал:
tradeData$Diff = ave(tradeData$AL,tradeData$Login,FUN = function(x) {diff(x)})
и
tradeData$Diff = as.data.frame(with(tradeData,tapply(AL,Login,FUN = diff)))
Я нашел следующий вопрос полезным до сих пор: R applying a function to a subset of a data frame, но я не уверен, как поступить с здесь, поскольку я продолжаю получать ошибки.
Благодаря