Функция 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"
Как насчет 'data (freetrade)', а затем 'freetrade' находится в вашем рабочем пространстве? Это то, что вы подразумеваете, извлекая полный набор данных? 'str (freetrade)' показывает 10 переменных и 171 наблюдение. –
@BryanHanson, набор данных freetrade является неполным набором данных, который содержит NA, но я хочу извлечь этот набор данных без NA после вменения, Томас ответил мне, и вы можете получить его с помощью _imp2 $ imputations [[1]] 'для получения отдельного вменения, также 'str (freetrade)' полезно. – zhyan
А, я вижу. Я не знаком с идеей «извлечения», чтобы быть вменением, но это не моя область. Для меня у вас не может быть больше данных, чем полный, оригинальный набор данных! Поэтому я узнал что-то, что всегда хорошо. –