gpt4 book ai didi

R - 在组内使用回归函数

转载 作者:行者123 更新时间:2023-12-02 01:59:18 24 4
gpt4 key购买 nike

假设我有一个数据框 df具有三个变量 df$x , df$y , df$z , 并且有一个分组变量 df$g .

通常,要在每个组中计算一个函数,我会执行以下操作

df$new<-unlist(tapply(df$x,df$g,FUN=myfunc))

现在假设我想从 x 的回归中生成残差在 yz在组的每个值内 g ,我该如何实现?

更具体地说,如果不使用组,我会这样做

df$new<-resid(lm(df$x ~ df$y + df$z, na.action, na.exclude))

在组内执行前面的操作的一个解决方案是对 `df$g' 的唯一元素使用循环,但如果有任何矢量化解决方案就更好了。

最佳答案

data.table中你可以使用by

library(data.table)
DT <- data.table(df)


DT[, new := resid(lm(x ~ y + z, na.action, na.exclude)), by = g]

关于R - 在组内使用回归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18045100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com