Как извлечь агрегированные вмененные данные из "мышей" R-пакета?

У меня есть вопрос относительно агрегирования вмененных данных, созданных R-пакетом "мыши".

Насколько я понимаю, "полная" команда "мышей" применяется для извлечения вмененных значений, например, первого вменения. Тем не менее, при выполнении в общей сложности десяти вменений, я не уверен, какие вмененные значения извлечь. Кто-нибудь знает, как извлечь (объединить) вмененные данные по всем вменениям?

Поскольку я хотел бы ввести данные в MS Excel и выполнить дальнейшие вычисления в другом программном инструменте, такая команда была бы очень полезна.

Спасибо за ваши Коментарии. Простой пример (от "мышей") можно найти ниже:

R> library("mice")
R> nhanes
R> imp <- mice(nhanes, seed = 23109) #create imputation
R> complete(imp) #extraction of the five imputed datasets (row-stacked matrix)

Как я могу объединить пять вмененных наборов данных и извлечь вмененные значения в Excel?

3 ответа

У меня была похожая проблема. Я использовал приведенный ниже код, который достаточно хорош для числовых переменных. Для других я думал о случайном выборе одного из вмененных результатов (потому что усреднение может нарушить его).

Мой предложенный код (для числовых):

tempData <- mice(data,m=5,maxit=50,meth='pmm',seed=500)
completedData <- complete(tempData, 'long')
a<-aggregate(completedData[,3:6] , by = list(completedData$.id),FUN= mean)
  1. Вы должны присоединиться к результатам обратно.
  2. Я думаю, что "Hmisc" - лучший пакет.
  3. если вы уже нашли более хорошее / более элегантное / встроенное решение - пожалуйста, поделитесь с нами.

Вы должны использовать complete(imp,action="long") получить значения для каждого вменения. Если ты видишь ?complete, ты найдешь

complete(x, action = 1, include = FALSE)

Arguments

x   
An object of class mids as created by the function mice().

action  
If action is a scalar between 1 and x$m, the function returns the data with imputation number action filled in. Thus, action=1 returns the first completed data set, action=2 returns the second completed data set, and so on. The value of action can also be one of the following strings: 'long', 'broad', 'repeated'. See 'Details' for the interpretation.

include 
Flag to indicate whether the orginal data with the missing values should be included. This requires that action is specified as 'long', 'broad' or 'repeated'.

Таким образом, по умолчанию возвращаются первые вмененные значения. Кроме того, аргумент action также может быть строкой: long, broad, а также repeated, Если вы введете long, это даст вам данные в длинном формате. Вы также можете установить include = TRUE если вы хотите исходные отсутствующие данные.

Хорошо, но все же вы должны выбрать один вмененный набор данных для дальнейшего анализа... Я думаю, что лучший вариант - это анализ с использованием вашего complete(imp,action="long") и объединить результаты впоследствии.fit <- with(data=imp,exp=lm(bmi~hyp+chl)) pool(fit)

но я также предполагаю, что не запрещено использовать только один из вмененных наборов данных;)

Другие вопросы по тегам