2016-01-23 2 views
1

В мышей пакет для экстракте полного набора данных можно использовать complete() команду следующим образом:Как извлечь полный набор данных из пакета Amelia

install.packages("mice") 
library ("mice") 
imp1=mice(nhanes,10) 
fill1=complete(imp,1) 
fill2=complete(imp,2) 
fillall=complete(imp,"long") 

Но может кто-нибудь сказать мне, как извлечь полный набор данных в пакете Amelia ??

install.packages("Amelia") 
library ("Amelia") 
imp2= amelia(freetrade, m = 5, ts = "year", cs = "country") 
+0

Как насчет 'data (freetrade)', а затем 'freetrade' находится в вашем рабочем пространстве? Это то, что вы подразумеваете, извлекая полный набор данных? 'str (freetrade)' показывает 10 переменных и 171 наблюдение. –

+0

@BryanHanson, набор данных freetrade является неполным набором данных, который содержит NA, но я хочу извлечь этот набор данных без NA после вменения, Томас ответил мне, и вы можете получить его с помощью _imp2 $ imputations [[1]] 'для получения отдельного вменения, также 'str (freetrade)' полезно. – zhyan

+0

А, я вижу. Я не знаком с идеей «извлечения», чтобы быть вменением, но это не моя область. Для меня у вас не может быть больше данных, чем полный, оригинальный набор данных! Поэтому я узнал что-то, что всегда хорошо. –

ответ

1

Функция str() всегда полезна здесь. Вы увидите, что полные наборы данных хранятся в imputations элементе объекта, возвращенного amelia():

> str(imp2, 1) 
List of 12 
$ imputations:List of 5 
    ..- attr(*, "class")= chr [1:2] "mi" "list" 
$ m   : num 5 
$ missMatrix : logi [1:171, 1:10] FALSE FALSE FALSE FALSE FALSE FALSE ... 
    ..- attr(*, "dimnames")=List of 2 
$ overvalues : NULL 
$ theta  : num [1:9, 1:9, 1:5] -1 -0.0161 0.199 -0.0368 -0.0868 ... 
$ mu   : num [1:8, 1:5] -0.0161 0.199 -0.0368 -0.0868 -0.0658 ... 
$ covMatrices: num [1:8, 1:8, 1:5] 0.8997 -0.3077 0.0926 0.2206 -0.1115 ... 
$ code  : num 1 
$ message : chr "Normal EM convergence." 
$ iterHist :List of 5 
$ arguments :List of 23 
    ..- attr(*, "class")= chr [1:2] "ameliaArgs" "list" 
$ orig.vars : chr [1:10] "year" "country" "tariff" "polity" ... 
- attr(*, "class")= chr "amelia" 

Чтобы получить каждый вменение в одиночку, просто делать imp2$imputations[[1]] и т.д. через все дележей, которые вы просили. В вашем примере есть пять:

> str(imp2$imputations, 1) 
List of 5 
$ imp1:'data.frame': 171 obs. of 10 variables: 
$ imp2:'data.frame': 171 obs. of 10 variables: 
$ imp3:'data.frame': 171 obs. of 10 variables: 
$ imp4:'data.frame': 171 obs. of 10 variables: 
$ imp5:'data.frame': 171 obs. of 10 variables: 
- attr(*, "class")= chr [1:2] "mi" "list" 
+0

Огромное вам спасибо за ваш ответ, что именно я хочу 'imp2 $ imputations [[1]]' – zhyan

Смежные вопросы