Я работаю с панельными данными. У меня есть более 6000 наблюдений за годом страны, и я уточнил мое вменение Амелии следующим образом:
(CountDependentVariable, m=5, ts="year", cs="cowcode",
sqrts=c("OtherCountVariable2", "OtherCount3", "OtherCount4"),
ords=c("OrdinalVar1", "Ordinal Variable 2"),
lgstc=c("ProportionVariale"),
noms=c("NominalVar1"),p2s = 0, idvars = c("country"))
Когда я запускаю эти строки кода, я продолжаю получать следующую ошибку:
Error in 1:ncol(x) : argument of length 0
Я видел, как люди получают подобную ошибку, но в разных контекстах. Важно отметить, что есть несколько непрерывных независимых переменных, которые я исключил из кода Amelia, потому что у меня сложилось впечатление, что они вменяются БЕЗ необходимости этого делать. Кто-нибудь знает:
1) Что означает эта ошибка? 2) Как исправить эту ошибку?
Обновление № 1: в приведенном выше примере кода предоставлено больше контекста с точки зрения типов переменных в данных моей панели подсчета.
Обновление № 2. Я провел небольшое исследование и наткнулся на файл R, содержащий функцию который диагностирует возможные ошибки кода Amelia. После запуска кода я сначала получил следующее сообщение об ошибке (и многие другие после этого):
AMn<-nrow(x)
Error in nrow(x) : object 'x' not found
AMp<-ncol(x)
Error in ncol(x) : object 'x' not found
subbedout<-c(idvars,cs,ts)
Error: object 'idvars' not found
Error Code: 4
if (any(colSums(!is.na(x)) <= 1)) {
all.miss <- colnames(x)[colSums(!is.na(x)) <= 1]
if (is.null(all.miss)) {
all.miss <- which(colSums(!is.na(x)) <= 1)
}
all.miss <- paste(all.miss, collapse = ", ")
error.code<-4
error.mess<-paste("The data has a column that is completely missing or only has one,observation. Remove these columns:", all.miss)
return(list(code=error.code,mess=error.mess))
}
Error in is.data.frame(x) : object 'x' not found
Error codes: 5-6
Errors in one of the list variables
idout<-listcheck(idvars,"One of the 'idvars'")
Error in identical(vars, NULL) : object 'idvars' not found
В настоящее время нет пропущенных значений для переменной страны, которую я помещаю в аргумент idvars. Однако первый же «кусок» ошибок хочет, чтобы я поверил, что это так.
Я неправильно указываю код Амелии, который у меня есть выше?
x
на самом деле является каким-то вектором нулевой длины. Но помимо этого, почти невозможно отлаживать это для вас, не имея доступа к вашим данным. Если мы не сможем запустить ваш код и выдать ту же ошибку, нам будет сложно чем-то помочь. - person joran   schedule 31.08.2013options(error = recover)
перед вызовом функции, чтобы вы могли проверить среду, где происходит ошибка, и выяснить это самостоятельно. - person flodel   schedule 31.08.2013