如何在r中找到标准化因子小于某个值的值?

时间:2017-12-06 00:37:44

标签: r

所以在R中我使用主成分分析对csv文件进行变量处理,每个变量代表从1到32的年份。

以下是代码:

Xdata <- context2[2:ncol(context2)]
head(Xdata)
model5 <- prcomp(Xdata)
model5$rotation[,1]*100
screeplot(model5,type="lines") 
factor <- model5$x[,1]
context2$factor <- factor
factor2 = matrix(c(factor), nrow=651, ncol=1)
factor <- factor2 %*% solve(sqrtm(crossprod(factor2))) * sqrt(nrow(factor2)) 
crossprod(factor)/nrow(factor)

上面的所有代码都运行正常,但我需要找到标准化因子小于-2.58的年份值。如果我在r中查看标准化因子,我可以通过查看得到小于-2.58的值,但数字是主成分1变量的输出,如下所示:https://imgur.com/a/OGNVq。如何获得标准化因子小于-2.58的年份?

1 个答案:

答案 0 :(得分:0)

不清楚哪个包含标准化因子,哪个变量包含&#34;年&#34;。我猜这个变量是:

crossprod(factor)/nrow(factor)

如果上面提到的年变量和变量的顺序相同(也就是说,第n个位置的年份对应于同一位置的因子),那么你可以使用基数R来获得年份。例如:

factor_variable <- crossprod(factor)/nrow(factor)
year[which(factor_variable < -2.58)]