使用by,dlply和lapply

时间:2016-02-23 11:45:23

标签: r plyr lapply

我正在按照我自己的纵向数据集进行应用纵向数据分析'辛格和威利特。

我正在尝试使用列出的R代码here

获取我研究中每位参与者的估计残差方差

玩具数据如下:对4名参与者的问卷进行评分,每次测量不同剂量的药物5次。

Dose <- rep(c("Dose40mg", "Dose30mg", "Dose20mg", "Dose10mg", "Dose0mg"), 4)
ID <- rep(1:4, each = 5)
set.seed(123)
Score <- rnorm(20, 10, 3)
df <- data.frame(ID, Dose, Score)

为了获得每个参与者的sigma平方(残差方差),书中的代码将转换为此数据集:

sig <- by(df, df$ID, function(data) (summary(lm(Score ~ Dose, data=data))$sigma)^2 )

然而,这不起作用

我在stackoverflow上查看了我自己的解决方法可以提出

f <- dlply(df, .(ID), lm, formula = Score ~ Dose)

s <- lapply(f, summary)

sig <- lapply(s, function (x) (x$sigma)^2)

哪个不实用,更糟糕的是,也不起作用。

最终目标是将每个参与者的残差方差变为茎叶图。但我首先需要价值观。我错过了什么?

0 个答案:

没有答案