1
編輯:我很少問這個問題。對於更清晰的問題,請參閱Find the variance over a sliding window in dplyr獲取dplyr中每一行的值和組的值
我想調用一個函數,使用每行的值和組的值。
# make some data with categories a and b
library(dplyr)
df = expand.grid(
a = LETTERS[1:3],
b = 1:3,
x = 1:5
)
# add a variable that changes within group
df$b2 = df$b + floor(runif(nrow(df))*100)
df %>%
# group the data
group_by(a, b) %>%
# row by row analysis
rowwise() %>%
# do some function based on this row's value and the vector for the group
mutate(y = x + 100*max(.$b2))
我想.$b2
只對應於當前組中的項目。相反,它是整個數據框。
有什麼方法可以獲得組的數據嗎?
注意:我其實並不關心max。這只是一個更復雜功能的替代品。我需要能夠撥打foo(one_value, group_vector)
。
'first'只返回該組的向量的第一個值,對不對?我需要整個組的向量以及當前行的該值。 – sharoz
@sharoz當您使用'b'進行分組時,每個組只有一個唯一值,因此該值會被回收。你可以用'max'或其他函數替換它。 – akrun
我簡化了這個例子。 b2現在在不同的組內有所不同。 – sharoz