关于R中的PCA?

关于R中的PCA?,r,pca,R,Pca,我使用R中的插入符号包预处理数据,如: > trans <- preProcess(data, method = "pca"). > transformedData <- predict(trans, data) >trans-transformedData我对插入符号不太熟悉,但您不能使用或吗 例如: # some random data x <-data.frame(a=1:25+rnorm(25), b=3:27+rn

我使用R中的插入符号包预处理数据,如:

> trans <- preProcess(data, method  = "pca").
> transformedData <- predict(trans, data)

>trans-transformedData我对插入符号不太熟悉,但您不能使用或吗

例如:

# some random data
x   <-data.frame(a=1:25+rnorm(25),
                 b=3:27+rnorm(25,mean=1), 
                 c=25:1 + rnorm(25,mean=2,sd=2))
pca <- prcomp(x, retx = TRUE, center = TRUE, scale. = TRUE)
transformedData <- pca$x
loadings        <- pca$rotation
eigenvalues     <- pca$sdev
#一些随机数据

我不确定我是否100%理解了你的问题,但我猜你有一个缺少名称的数据集,你想快速确定变量之间的关系(可能是线性的),确定“主要成分”

这是一个非常棒的演示,向您展示了PCA和SVD的一些知识

下面是一个非常简单的示例,演示了如何使用
prcomp
函数:

>library(ggplot2)
>data(mpg)
>data <- mpg[,c("displ", "year", "cyl", "cty", "hwy")]
# get the numeric columns only for this easy demo
>prcomp(data, scale=TRUE)

Standard deviations:
  [1] 1.8758132 1.0069712 0.5971261 0.2658375 0.2002613

Rotation:
  PC1         PC2        PC3         PC4         PC5
displ  0.49818034 -0.07540283  0.4897111  0.70386376 -0.10435326
year   0.06047629 -0.98055060 -0.1846807 -0.01604536  0.02233245
cyl    0.49820578 -0.04868461  0.5028416 -0.68062021  0.18255766
cty   -0.50575849 -0.09911736  0.4348234  0.15195854  0.72264881
hwy   -0.49412379 -0.14366800  0.5330619 -0.13410105 -0.65807527
这表明第一列本身已经解释了整个矩阵中70%的方差

(2) 现在让我们看一下旋转矩阵/V中的第一列:

          PC1       
displ  0.49818034 
year   0.06047629
cyl    0.49820578
cty   -0.50575849
hwy   -0.49412379
我们可以看到:
displ
cyl
呈正相关,与
cty
hwy
呈负相关。在这一主导层中,
并不明显。

这是有道理的,你车里的排量或气缸越多,它的MPG可能就越高

这是变量之间的曲线图,仅供参考

pairs(data)

您想要的是查看结果列表的
旋转
变量:

> trans <- preProcess(data, method  = "pca").
> transformedData <- predict(trans, data)
> trans$rotation

你在问什么?什么是个人电脑?你有没有看过双图以及每台电脑能解释多少变化?
> trans <- preProcess(data, method  = "pca").
> transformedData <- predict(trans, data)
> trans$rotation
> trans$rotation[,c(1,2)]