无法使用R汇总小鼠中的平均值:对象类数字的无视方法

问题描述 投票:0回答:1

我正在尝试使用R中的mouses软件包估算连续变量的平均值。我能够生成m个估算的平均值,但是当我尝试使用pool()函数汇总这些平均值时,出现错误消息:“错误:没有数字类对象的扫视方法”。

我已经能够在汇总线性回归模型的结果时使用库函数,但不能用于平均值/中值或分类数据的计数。

我已经尝试了虹膜数据集以及我自己的数据。我将使用虹膜数据来说明问题

library(mice)
library(miceadds)
library(purr)

#Creating dataset with missing values (NAs)
iris.mis <- prodNA(iris, noNA = 0.1)
head(iris.mis)

Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2           NA         3.0           NA         0.2    <NA>
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5           NA         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

#Imputation
imputed_data <- mice(data = iris.mis, m = 5, method = "pmm", maxit = 50, seed = 500)
mean_sepal_width <- with(data = imputed_data, expr = mean(Sepal.Width))
print(mean_sepal_width)
summary(pool(mean_sepal_width))

[summary(pool())命令给出错误消息:“错误:类数字对象的无视方法”。

我也尝试过不使用摘要功能,但也不能使用,即>]

pool(mean_sepal_width)

此外,我尝试将mean_sepal_width对象(属于mira和matrix类)转换为向量,然后找到均值和中值(与鲁宾的插补规则不太相同,但考虑到插补值的相似性在我的数据集以及此处显示的虹膜示例中,对于该项目而言,这是可以接受的)。不幸的是,这也不起作用。例如:

mean(as.vector(mean_sepal_width))

上面还给出了一条错误消息:“警告消息:在mean.default(as.vector(mean_sepal_width))中:参数不是数字或逻辑:返回NA“

对于不正确的测试,在stackoverflow上也有类似的问题:mice's pool.compare gives "Error: No glance method for objects of class call" for lmerTest models但是建议的答案对我也不起作用。

也许无法在小鼠中做到这一点?

我将非常感谢您提供有关如何解决此问题的建议。提前非常感谢。

[我正在尝试使用R中的mouses软件包估算连续变量的平均值。我能够生成m个估算的平均值,但是当我尝试使用pool()函数汇总这些平均值时,会得到一个...

r imputation r-mice
1个回答
0
投票

对于第二种方法,取向量的均值,可以尝试mean(unlist(mean_sepal_width$analyses))。我不确定使用pool的第一种方法是否可以在不拟合模型的情况下使用。

© www.soinside.com 2019 - 2024. All rights reserved.