下标超出界限 - 循环绘制R中的数据

时间:2015-08-04 03:26:54

标签: r for-loop pca

我正在尝试在R中绘制感知地图,但由于我猜测矩阵上的操作,我遇到了错误。

这是我的感知数据和偏好数据。 对于感知数据,行中有22个感知属性,列中有10个品牌。 对于偏好数据,有1123名受访者为10个品牌中的每个品牌提供了分数。

percep <- as.data.frame(matrix(rnorm(220), nrow=22))
prefs <- as.data.frame(matrix(rnorm(11230), nrow=1123))
percep.t <- t(percep)

现在我想进行PCA分析,然后将偏好数据乘以PC2和PC3分数,以获得坐标并创建二维图:

fit = prcomp(percep.t, scale.=TRUE)
pref = data.matrix(prefs)
pref3 = pref %*% fit$x[,2:3]

最后,我绘制了偏好分数:

par(pty="s")
for (i in 1:nrow(pref3))
  {
    points(x=pref3[i,2], y=pref3[i,3], pch=".", cex=1.5*k3, col="maroon2")
  }

但是我收到了这个错误

Error in pref3[i, 3] : subscript out of bounds

从这篇文章:R error type "Subscript out of bounds"我看到问题是由于运营商的优先顺序&#34;:&#34;但在这里,我不需要括号,因为我不会增加。如果我使用PC1 / PC2或PC1 / PC3进行分析,它可以工作。但它与PC2 / PC3无关。上述解决方案似乎并不适用于此。

有什么想法吗?

0 个答案:

没有答案