我的数据框包含两种类型cols - numeric和factor。 如何在新列中区分每个元素与组平均值。 我可以使用'aggregate'找到组均值,但我不能在每个元素之间提取差异,而是它的组均值(不同的长度)。
答案 0 :(得分:2)
您可以使用基本线性模型轻松完成(我删除了截距,以便每个效果的值都是模型摘要中的组平均值)。我们以data(mtcars)
为例,变量am
是您的分组因子,mpg
是您的数字变量:
mtcars$am <- factor(mtcars$am)
lm(mpg~am-1, mtcars)$resid
该模型的残差根据定义元素及其组均值之间的差异。