R:计算lm()函数中的预测平均值

R:计算lm()函数中的预测平均值,r,lm,R,Lm,我试图计算一个给定的简单线性回归模型(包括分类变量和连续变量)结果的预测/调整平均值。下面是一个类似的示例 dat <- data.frame(value = c(5,8,41,25,23,56,58,54,51,52,56,59), x = c("A","A","A","A","A","A", "B","B","B", "B","B","G"), y=c("C","C","C","D","D","D", "D","D

我试图计算一个给定的简单线性回归模型(包括分类变量和连续变量)结果的预测/调整平均值。下面是一个类似的示例

dat <- data.frame(value = c(5,8,41,25,23,56,58,54,51,52,56,59),
                  x = c("A","A","A","A","A","A", "B","B","B", "B","B","G"),
                  y=c("C","C","C","D","D","D", "D","D","D", "D","E","E"), 
                  z = c(34,56,25,35,54,67,43,73,52,78,15,38))
m <- lm(value ~ x + y + z, dat)

dat我想这就是你要找的-

dat$predicted <- m$fitted.values
adj_mean <- aggregate(predicted ~ x, data = dat, FUN = mean)

dat$predicted我认为包lsmeans解决了这个问题

平均值(dat[dat$x==“A”,“value”])
x
“A”
时给出26.33333作为平均值。这只是5,8,41,25,23,56的平均值
predict(m,newdata,type=“confidence”)
大家好,谢谢大家的评论。对不起,我的问题不太清楚。我想做的是,对于x,我将分别插入值“A”、“B”、“C”(因为A将是引用,它只意味着将B和C的虚拟值设置为0),而对于所有其他变量,我想插入平均值。对于连续变量很容易,但是,如果它是一个分类变量,我希望应用一个比率来表示整个人口。因此,在本例中,我希望“D”的虚拟值为7/12,而不是1或0,2/12表示“E”。@zheiyunli谢谢你的回答。我知道predict.lm会给出一组给定的自变量输入值的因变量预测值。但是,我想知道如何输入分类自变量的值。我想一种方法是重新创建整个表3*12,其中x都等于“A”(或分别等于“B”和“C”),z都等于平均值,并保持y现在的状态。有没有更快捷、更通用的方法?我正在尝试编写一个函数,在不同的数据集上处理这些情况。大家好,谢谢大家的帮助。我想这意味着我要找的就是这个包裹。多谢各位!嗨,谢谢你的回答。然而,我不认为这是我打算做的。因为y的分布不能准确地代表人口,如果这有意义的话。