在R中拟合多维平面
我有多维(100+变量)数据,我希望其中的子集或多或少符合一个平面。 将平面拟合到R中的子集的最佳方法是什么在R中拟合多维平面,r,geometry,plane,R,Geometry,Plane,我有多维(100+变量)数据,我希望其中的子集或多或少符合一个平面。 将平面拟合到R中的子集的最佳方法是什么 我想用这个平面来计算其他点到它的距离,并画出它的一些尺寸。主成分可以帮你解决这个问题。假设您的数据确实与平面匹配,那么前两个主成分应该能够很好地描述该平面 您没有提供任何示例数据,因此我将用一些人工数据进行说明。我的数据是十维的,但所有的点都靠近一个平面(在其他八个方向上有一些误差) 由于所有变量都是x和y的线性组合(加上一个小误差),因此数据仅为二维数据,并且位于x-y平面附近。这里我
我想用这个平面来计算其他点到它的距离,并画出它的一些尺寸。主成分可以帮你解决这个问题。假设您的数据确实与平面匹配,那么前两个主成分应该能够很好地描述该平面 您没有提供任何示例数据,因此我将用一些人工数据进行说明。我的数据是十维的,但所有的点都靠近一个平面(在其他八个方向上有一些误差) 由于所有变量都是x和y的线性组合(加上一个小误差),因此数据仅为二维数据,并且位于x-y平面附近。这里我把x和y当作潜变量。它们不会出现在数据中,而是驱动所有其他变量的行为
## Principal Components Analysis
PCA = prcomp(MyData)
plot(PCA)
是的,数据看起来基本上是二维的。剩下的就是得到前两个主成分。它们存储在从prcomp
返回的结构中
PCA$rotation[,1:2]
PC1 PC2
V1 0.42752681 -0.204894748
V2 -0.64546573 -0.056503044
V3 0.04606707 -0.009614603
V4 0.01956126 -0.539070667
V5 0.15987617 0.600122935
V6 -0.06255399 0.054053476
V7 0.26497132 0.388920891
V8 0.21645814 -0.366709584
V9 0.49363625 -0.116954131
V10 0.08874645 0.040656622
我们正在寻找的平面是由这两个向量所跨越的平面
PCA$rotation[,1:2]
PC1 PC2
V1 0.42752681 -0.204894748
V2 -0.64546573 -0.056503044
V3 0.04606707 -0.009614603
V4 0.01956126 -0.539070667
V5 0.15987617 0.600122935
V6 -0.06255399 0.054053476
V7 0.26497132 0.388920891
V8 0.21645814 -0.366709584
V9 0.49363625 -0.116954131
V10 0.08874645 0.040656622