如何从 glmmPQL 获得预测输出以使用 R 处理性能?
How to get the prediction output from glmmPQL to work with performance using R?
问题
我在 Windows 10(x64 位)上使用 R 3.3.3。我从 glmmPQL 预测函数得到以下预测输出,如下所示:
library(MASS)
library(nlme)
library(dplyr)
model<-glmmPQL(a ~ b + c + d, data = trainingDataSet, family = binomial, random = list( ~ 1 | e), correlation = corAR1())
给出预测值如下:
p <- predict(model, newdata=testingDataSet, type="response",level=0)
(1.0)
它给出的输出如下:
然后我尝试使用以下代码测量此输出的性能:
pr <- prediction(p, testingDataSet$a)
(1.1)
它给我们如下错误:
Error in prediction(p, testingDataSet$a) :
Format of predictions is invalid.
(1.2)
当数据如下所示时,我已经成功地使用其他函数(glm、svm、nn)在 R 中使用预测方法:
model<-glm(a ~ b + c + e, family = binomial(link = 'logit'), data = trainingDataSet)
p <- predict(model, newdata=testingDataSet, type="response")
(1.3)
尝试次数
我相信解决上述问题的方法是将其转换为如下所示的格式 (1.3)。我使用 R 尝试了以下操作,但都失败了。
我尝试使用 as.numeric()
和 as.list()
和其他东西将 p
转换为 1.0
。我想要看起来像 1.3
中的 p
R 对象。换句话说,我认为格式是我无法正常工作的原因?
无论我尝试什么变异或转换,我似乎都无法将其放入 1.3
中的形式并按需要显示图像。特别是具有索引作为列功能。
我在 Whosebug 和 R 帮助文件上空手而归。当我使用命令 class(p)
时,两者都告诉我它们是数字。
问题
给出以上内容,有人能告诉我如何使用 R 以预测函数可以使用的格式从 glmmPQL 获取输出,如上所示吗?
换句话说,我如何确保 1.0
中的输出可以与 R 中 1.3
中的输出相匹配?我的尝试失败了,我非常感谢 R 方面更熟练的人指出我失败的地方?
如果你使用 as.numeric(p) 那么你会得到你想要的值 - 那么唯一的区别就是 GLM 输出有名字。您可以使用以下内容添加这些内容:
p <- as.numeric(p)
names(p) <- 1:length(p)
如果这不起作用,您可以使用str(p)
更深入地检查对象的结构。
问题
我在 Windows 10(x64 位)上使用 R 3.3.3。我从 glmmPQL 预测函数得到以下预测输出,如下所示:
library(MASS)
library(nlme)
library(dplyr)
model<-glmmPQL(a ~ b + c + d, data = trainingDataSet, family = binomial, random = list( ~ 1 | e), correlation = corAR1())
给出预测值如下:
p <- predict(model, newdata=testingDataSet, type="response",level=0)
(1.0)
它给出的输出如下:
然后我尝试使用以下代码测量此输出的性能:
pr <- prediction(p, testingDataSet$a)
(1.1)
它给我们如下错误:
Error in prediction(p, testingDataSet$a) :
Format of predictions is invalid.
(1.2)
当数据如下所示时,我已经成功地使用其他函数(glm、svm、nn)在 R 中使用预测方法:
model<-glm(a ~ b + c + e, family = binomial(link = 'logit'), data = trainingDataSet)
p <- predict(model, newdata=testingDataSet, type="response")
(1.3)
尝试次数
我相信解决上述问题的方法是将其转换为如下所示的格式 (1.3)。我使用 R 尝试了以下操作,但都失败了。
我尝试使用 as.numeric()
和 as.list()
和其他东西将 p
转换为 1.0
。我想要看起来像 1.3
中的 p
R 对象。换句话说,我认为格式是我无法正常工作的原因?
无论我尝试什么变异或转换,我似乎都无法将其放入 1.3
中的形式并按需要显示图像。特别是具有索引作为列功能。
我在 Whosebug 和 R 帮助文件上空手而归。当我使用命令 class(p)
时,两者都告诉我它们是数字。
问题
给出以上内容,有人能告诉我如何使用 R 以预测函数可以使用的格式从 glmmPQL 获取输出,如上所示吗?
换句话说,我如何确保 1.0
中的输出可以与 R 中 1.3
中的输出相匹配?我的尝试失败了,我非常感谢 R 方面更熟练的人指出我失败的地方?
如果你使用 as.numeric(p) 那么你会得到你想要的值 - 那么唯一的区别就是 GLM 输出有名字。您可以使用以下内容添加这些内容:
p <- as.numeric(p)
names(p) <- 1:length(p)
如果这不起作用,您可以使用str(p)
更深入地检查对象的结构。