Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的维度不匹配错误_R - Fatal编程技术网

R中的维度不匹配错误

R中的维度不匹配错误,r,R,下面是我拥有的数据集的一些变量。他们中的一些人说[1:9969,1],而另一些人只是说[1:9969]。在我使用scale函数将我的所有变量放在一个多级模型的同一个比例后,出现了带[,1]的变量,我正试图用JAGS运行该模型 $ lnlaggdpPv2 : num [1:9969, 1] 1.05 1.05 1.05 1.05 1.05 ... ..- attr(*, "scaled:center")= num 18.9 ..- attr(*, "scaled:scale")=

下面是我拥有的数据集的一些变量。他们中的一些人说[1:9969,1],而另一些人只是说[1:9969]。在我使用
scale
函数将我的所有变量放在一个多级模型的同一个比例后,出现了带[,1]的变量,我正试图用JAGS运行该模型

 $ lnlaggdpPv2      : num [1:9969, 1] 1.05 1.05 1.05 1.05 1.05 ...
 ..- attr(*, "scaled:center")= num 18.9
 ..- attr(*, "scaled:scale")= num 1.58
 $ lnlaggdpTv2      : num [1:9969, 1] 2.556 -0.122 -0.377 1.16 -0.294 ...
 ..- attr(*, "scaled:center")= num 17.2
 ..- attr(*, "scaled:scale")= num 1.72
 $ NoBust_sq        : num [1:9969] 0.196 0 0.009 0 0 ...
 $ NoBust_cb        : num [1:9969] 2.744 0 0.027 0 0 ...
 $ CountryID        : num [1:9969] 1 1 1 1 1 1 1 1 1 1 ...
 $ YearID           : num [1:9969] 32 32 32 32 32 32 32 32 32 32 ...
下面是我运行的“导致”问题的命令:

pvars2 <- c("lndist","NoBust", "duration", "lagtradeshareEU", "lagtradeopenPv2", "lagtradesharePTv3", "lnlaggdpPv2", "lnlaggdpTv2",     "DefPactTP")
bustsc2 <- bust.datjags2
bustsc2[pvars2] <- lapply(bustsc2[pvars2],scale)

pvars2应用于
向量
scale
的输出是一个带有一列的
矩阵

scale(1:10)
这就解释了为什么与其他列相比,我们只有那些
scale
d的列才有不同的输出。选项是将其转换为
向量
,使用
as.vector
c
甚至
as.numeric

bustsc2[pvars2] <- lapply(bustsc2[pvars2], function(x) as.vector(scale(x)))
bustsc2[pvars2]尝试
lappy(bustsc2[pvars2],函数(x)为.numeric(scale(x))
\