1

我查看了各种 r 资源,但找不到明显的解决方案来解决我的问题。如果在其他地方回答了这个问题,那么指向正确方向的指针会很有用。使用以下数据集:

    tmp <- c(35,35,35,35,35,36,36,36,36,36)
    experiment <- factor(tmp)
    rpm <- c(10,20,40,80,120,10,20,40,80,120)
    x <- c(678,1889,3416,8916,17917,665,1385,3377,8551,16793)
    test <- data.frame(experiment,rpm,x)

我想执行回归,例如在 rpm 上使用 lm 对 x 进行线性回归:

    lm(x ~ rpm)

因此,在这个例子中,我将有两个回归,一个用于实验 35,一个用于实验 36。我可以对数据进行子集化,但我的实际数据将有超过 200 个实验,我想知道我是否可以只用几行代码?

4

1 回答 1

1

plyr

library(plyr)
dlply(test, .(experiment), function(df) with(df, lm(x ~ rpm)))
于 2013-04-18T20:08:27.080 回答