错误:R中的维数不正确

时间:2015-08-07 04:12:01

标签: r

这是我正在使用的数据(它是一个高维数据集,在心理包中可用):

install.packages("psych")
data(sat.act)

我正在尝试更多地清理数据,以便我可以对其进行因子分析。到目前为止,这是我的代码:

data1 <- data[,6:700] 
satact <- data.frame(data1)
satact1 <- na.omit(data1)
dim(data)

但我收到一条错误消息,指出我的数据的维数不正确[,6,700]。我已经尝试了所有可能的组合,但我不确定为什么它会显示为不正确。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

Elle,如果您想要使用library(psych) data <- sat.act[complete.cases(sat.act), ] prcomp(data) Standard deviations: [1] 146.8300134 68.2543504 9.5430803 3.6666452 1.1715551 0.4647055 Rotation: PC1 PC2 PC3 PC4 PC5 gender 0.0003401435 -0.0012020541 0.0010970565 0.005788342 -0.0591625722 education -0.0004299901 -0.0002918314 -0.0850528466 0.024064095 -0.9943380906 age 0.0027020833 0.0014188342 -0.9929359565 -0.084983862 0.0824906340 ACT -0.0208448308 0.0016963799 -0.0827031922 0.995852246 0.0314096125 SATV -0.6956211490 -0.7182796666 -0.0017374908 -0.013494765 0.0003648618 SATQ -0.7181010432 0.6957498829 0.0003989952 -0.016166443 -0.0003874180 PC6 gender -0.9982301944 education 0.0589781669 age -0.0064738244 ACT 0.0038129483 SATV 0.0005261265 SATQ -0.0011528452 排除记录,请尝试此操作。

NA

或者,如果您想强制0data <- sat.act data[is.na(data)] <- 0 prcomp(data) Standard deviations: [1] 159.4488983 85.1587086 9.5463091 3.7961644 1.1814762 0.4653497 Rotation: PC1 PC2 PC3 PC4 PC5 gender 0.0003915730 -7.364935e-04 0.0008193646 0.002717142 -0.0591610356 education -0.0004932616 -9.314099e-05 -0.0837084272 0.019199014 -0.9945610838 age 0.0012746540 4.606768e-03 -0.9933615141 -0.080624581 0.0817016560 ACT -0.0172578373 -1.064616e-02 -0.0788111515 0.996345023 0.0259420620 SATV -0.5500283967 -8.349310e-01 -0.0030404778 -0.018696325 0.0002655931 SATQ -0.8349664116 5.502319e-01 0.0021652104 -0.008410428 -0.0000266278 PC6 gender -0.9982440693 education 0.0589261882 age -0.0058797665 ACT 0.0011109106 SATV 0.0003311219 SATQ -0.0007530176

{{1}}

答案 1 :(得分:0)

我遇到了同样的错误,即尺寸错误。我创建了如下矩阵,并将维的维数指定为c(x,x,x)

ary <- array(seq(from=-98, to=100, by=4), dim= c(5,5,1))

按以下方式访问它时,它引发了“尺寸错误”错误

ary[1,] &ary[,1] & ary[1,1]

然后我再次如下所示重新创建矩阵,并将维的维数指定为c(x,x)

 ary <- array(seq(from=-98, to=100, by=4), dim= c(5,5))

现在错误消失了,我们可以照常访问数组