Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当状态为非数字时,为什么USARREST数据可以在R中生成PCA分析?_R_Pca_Matrix - Fatal编程技术网

当状态为非数字时,为什么USARREST数据可以在R中生成PCA分析?

当状态为非数字时,为什么USARREST数据可以在R中生成PCA分析?,r,pca,matrix,R,Pca,Matrix,我一直在尝试用R和“prcomp”进行PCA分析。我的数据()是一个包含大量NA的数据帧,所以我是这样做的 plan0_sna <- na.omit(plan0) 我希望在不丢失州名称的情况下进行分析,就像USArrest数据一样: > USArrests Murder Assault UrbanPop Rape Alabama 13.2 236 58 21.2 Alaska 10.0

我一直在尝试用R和“prcomp”进行PCA分析。我的数据()是一个包含大量NA的数据帧,所以我是这样做的

plan0_sna <- na.omit(plan0)
我希望在不丢失州名称的情况下进行分析,就像USArrest数据一样:

> USArrests
               Murder Assault UrbanPop Rape
Alabama          13.2     236       58 21.2
Alaska           10.0     263       48 44.5
Arizona           8.1     294       80 31.0
Arkansas          8.8     190       50 19.5
California        9.0     276       91 40.6
Colorado          7.9     204       78 38.7
Connecticut       3.3     110       77 11.1
Delaware          5.9     238       72 15.8
Florida          15.4     335       80 31.9
Georgia          17.4     211       60 25.8
Hawaii            5.3      46       83 20.2
Idaho             2.6     120       54 14.2
Illinois         10.4     249       83 24.0
Indiana           7.2     113       65 21.0
Iowa              2.2      56       57 11.3
Kansas            6.0     115       66 18.0
Kentucky          9.7     109       52 16.3
Louisiana        15.4     249       66 22.2
Maine             2.1      83       51  7.8
Maryland         11.3     300       67 27.8
Massachusetts     4.4     149       85 16.3
Michigan         12.1     255       74 35.1
Minnesota         2.7      72       66 14.9
Mississippi      16.1     259       44 17.1
Missouri          9.0     178       70 28.2
Montana           6.0     109       53 16.4
Nebraska          4.3     102       62 16.5
Nevada           12.2     252       81 46.0
New Hampshire     2.1      57       56  9.5
New Jersey        7.4     159       89 18.8
New Mexico       11.4     285       70 32.1
New York         11.1     254       86 26.1
North Carolina   13.0     337       45 16.1
North Dakota      0.8      45       44  7.3
Ohio              7.3     120       75 21.4
Oklahoma          6.6     151       68 20.0
Oregon            4.9     159       67 29.3
Pennsylvania      6.3     106       72 14.9
Rhode Island      3.4     174       87  8.3
South Carolina   14.4     279       48 22.5
South Dakota      3.8      86       45 12.8
Tennessee        13.2     188       59 26.9
Texas            12.7     201       80 25.5
Utah              3.2     120       80 22.9
Vermont           2.2      48       32 11.2
Virginia          8.5     156       63 20.7
Washington        4.0     145       73 26.2
West Virginia     5.7      81       39  9.3
Wisconsin         2.6      53       66 10.8
Wyoming           6.8     161       60 15.6

为什么会不同呢?

这可能会导致堆栈溢出,但我还是从Google Drive获取了数据。这应该适用于您的数据:

plan0<-read.table("plan0.txt", header=T)
plan0_sna <- na.omit(plan0)
matrix0 <- data.matrix (plan0_sna)
matrix1<-matrix0[,2:ncol(matrix0)]
rownames(matrix1)<-plan0_sna$LOCAL
m2 <- princomp(matrix1, cor=TRUE)
biplot(m2)

plan0您是否可以翻译错误消息?Data.matrix去掉名称,这是它应该做的,但可能还有另一个解决方案。是的,当然,我没有翻译它,因为我知道这是一个小问题,但我不知道如何解决:)在USARREST数据框中,状态名称不在因子变量中(PCA会阻塞)但是是行名称(可以使用
row.names
函数设置)。但是,行名称必须是唯一的(即,每个州仅一行),请注意数据集中的情况。这个问题似乎与R严格相关,可能应该迁移到Stackoverflow。我仍然有点不清楚你想要实现什么(每个州一行?如何?PCA在哪些变量上?)。我试图得到一个类似于USARREST的双图,指示州的名称。但在我的例子中,我的双图表示行的编号。我想知道与排放物种类相关的城市群。非常感谢@Gaël LauransWow,这很简单,但我无法理解。非常感谢@JTT.:)
    head(matrix0)
   LOCAL PM2.5   BC         Al        Si
2      1    21  5.9 0.02278234 0.2993741
3      1    22  7.6 0.06149135 0.1828806
12     1    28 18.4 0.01614913 0.1905879
17     1    31 18.5 0.04290772 0.1603130
18     1    26  8.5 0.03344481 0.4836519
19     1    35 14.1 0.11562827 0.3842194
> USArrests
               Murder Assault UrbanPop Rape
Alabama          13.2     236       58 21.2
Alaska           10.0     263       48 44.5
Arizona           8.1     294       80 31.0
Arkansas          8.8     190       50 19.5
California        9.0     276       91 40.6
Colorado          7.9     204       78 38.7
Connecticut       3.3     110       77 11.1
Delaware          5.9     238       72 15.8
Florida          15.4     335       80 31.9
Georgia          17.4     211       60 25.8
Hawaii            5.3      46       83 20.2
Idaho             2.6     120       54 14.2
Illinois         10.4     249       83 24.0
Indiana           7.2     113       65 21.0
Iowa              2.2      56       57 11.3
Kansas            6.0     115       66 18.0
Kentucky          9.7     109       52 16.3
Louisiana        15.4     249       66 22.2
Maine             2.1      83       51  7.8
Maryland         11.3     300       67 27.8
Massachusetts     4.4     149       85 16.3
Michigan         12.1     255       74 35.1
Minnesota         2.7      72       66 14.9
Mississippi      16.1     259       44 17.1
Missouri          9.0     178       70 28.2
Montana           6.0     109       53 16.4
Nebraska          4.3     102       62 16.5
Nevada           12.2     252       81 46.0
New Hampshire     2.1      57       56  9.5
New Jersey        7.4     159       89 18.8
New Mexico       11.4     285       70 32.1
New York         11.1     254       86 26.1
North Carolina   13.0     337       45 16.1
North Dakota      0.8      45       44  7.3
Ohio              7.3     120       75 21.4
Oklahoma          6.6     151       68 20.0
Oregon            4.9     159       67 29.3
Pennsylvania      6.3     106       72 14.9
Rhode Island      3.4     174       87  8.3
South Carolina   14.4     279       48 22.5
South Dakota      3.8      86       45 12.8
Tennessee        13.2     188       59 26.9
Texas            12.7     201       80 25.5
Utah              3.2     120       80 22.9
Vermont           2.2      48       32 11.2
Virginia          8.5     156       63 20.7
Washington        4.0     145       73 26.2
West Virginia     5.7      81       39  9.3
Wisconsin         2.6      53       66 10.8
Wyoming           6.8     161       60 15.6
plan0<-read.table("plan0.txt", header=T)
plan0_sna <- na.omit(plan0)
matrix0 <- data.matrix (plan0_sna)
matrix1<-matrix0[,2:ncol(matrix0)]
rownames(matrix1)<-plan0_sna$LOCAL
m2 <- princomp(matrix1, cor=TRUE)
biplot(m2)