如果不使用加入或合并,我想在此表中添加mean(metric)
列,将metric
平均值sector
symbol sector date_bom recommendation metric
A Strip Center 20XX-08-01 BUY 0.01
B Office Center 20XX-09-01 BUY 0.02
C Strip Center 20XX-07-01 SELL -0.01
我在dplyr
中尝试过几件事,但似乎我想要/需要在汇总条款中使用group-by,这是不允许的。
答案 0 :(得分:0)
如果我们要创建列,请使用mutate
代替summarise
library(dplyr)
df1 %>%
group_by(sector) %>%
mutate(Mean = mean(metric))
但是,可以在list
然后summarise
中创建unnest
列,但这里不需要。在输出列length
不是1或与每组的行数不同的情况下,它很有用。此外,summarise
只会将分组列和汇总列留给所有其他列
在base R
中,我们使用ave
进行此类操作
df1$Mean <- with(df1, ave(metric, sector))
请注意,FUN
有一个ave
参数,但默认情况下它会获得mean
。所以,这里不需要