“1中的错误:ncol(x):长度为0的参数”在R中使用Amelia时

时间:2013-08-31 00:43:33

标签: r missing-data

我正在使用面板数据。我有超过6,000个国家年度观察结果,并指定了我的Amelia估算如下:

(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:我做了一些研究,并遇到了一个包含Amelia代码可能错误的函数that diagnoses的R文件。运行代码后,我首先收到以下错误消息(此后还有更多错误消息):

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参数中放置的国家/地区变量没有缺失值。然而,错误的第一个“大块”让我相信这是如此。

我没有正确指定上面的Amelia代码吗?

1 个答案:

答案 0 :(得分:2)

我忘了在原始的Amelia代码中指定数据帧(在额头上用手拍)。所以现在,在解决了上面的问题后,我从Amelia收到以下错误:

Amelia Error Code:  44 
 One of the variable names in the options list does not match a variable name in the data.

我检查了变量名称,并且它们逐字匹配到我在数据帧中命名的变量名称。