R中的维度不匹配错误
下面是我拥有的数据集的一些变量。他们中的一些人说[1:9969,1],而另一些人只是说[1:9969]。在我使用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")=
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))
\