Table 个两个因素的所有配对的回归预测
Table of regression predictions for all pairings of two factors
对于一项作业,我们需要为 table 中两个因子变量的所有配对提供预测。我有两个因素和一个线性模型。我想输出一个 table,这样行是一个因素的水平,列是另一个因素的水平,table 中的值是这些水平的预测值。
我已经很容易地完成了预测,但是显示它却导致了问题,因为似乎没有任何函数可以完全完成这项工作。我原以为 tapply()
可以做到,但我似乎无法使用我的线性模型作为函数?有什么方法可以根据我的线性模型的预测输出双向 table 因子?
newdata = expand.grid(GenericFactor1 = c("1", "2", "3"), GenericFactor2 = c("10","20","30","40"))
pred = predict.lm(linear.model.lm, newdata)
newdata$pred = as.vector(pred)
据我了解,您有两个因素,您想要创建一个 table,其中行与第一个因素的值相关联,列与第二个因素的值相关联,数据是模型对相关因子值对的预测。 outer
函数可以很好地处理这种设置:
outer(c(1, 2, 3), c(10, 20, 30, 40), function(x, y) {
predict.lm(linear.model.lm, newdata=data.frame(GenericFactor1=x, GenericFactor2=y))
})
对于一项作业,我们需要为 table 中两个因子变量的所有配对提供预测。我有两个因素和一个线性模型。我想输出一个 table,这样行是一个因素的水平,列是另一个因素的水平,table 中的值是这些水平的预测值。
我已经很容易地完成了预测,但是显示它却导致了问题,因为似乎没有任何函数可以完全完成这项工作。我原以为 tapply()
可以做到,但我似乎无法使用我的线性模型作为函数?有什么方法可以根据我的线性模型的预测输出双向 table 因子?
newdata = expand.grid(GenericFactor1 = c("1", "2", "3"), GenericFactor2 = c("10","20","30","40"))
pred = predict.lm(linear.model.lm, newdata)
newdata$pred = as.vector(pred)
据我了解,您有两个因素,您想要创建一个 table,其中行与第一个因素的值相关联,列与第二个因素的值相关联,数据是模型对相关因子值对的预测。 outer
函数可以很好地处理这种设置:
outer(c(1, 2, 3), c(10, 20, 30, 40), function(x, y) {
predict.lm(linear.model.lm, newdata=data.frame(GenericFactor1=x, GenericFactor2=y))
})