以下是我拥有的数据集的一些变量。他们中有些人说[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)
我已经搜索了Google,但不确定如何解决该问题。任何帮助将不胜感激?我希望我已经充分解释了我的问题。我并不是R的“新手”,但是我只是开始频繁地使用它,而我仍然不熟悉其中的一些复杂之处。
答案 0 :(得分:1)
应用于scale
的{{1}}的输出是具有一列的vector
。
matrix
这说明了为什么我们只对与其他列相比scale(1:10)
的那些列才有不同的输出。选项是使用scale
或vector
甚至as.vector
c
as.numeric