当状态为非数字时,为什么USArrests数据可以在R中进行PCA分析?

塞尔吉奥

我一直在尝试使用R和'prcomp'进行PCA分析。我的数据(plan0)是具有很多NA的数据,所以我这样做

plan0_sna <- na.omit(plan0)

当我尝试做时,结果数据在这里

m2 <- princomp(plan0_sna, cor=TRUE)
Error in cov.wt(z) : 'x' must contain finite values only

所以,我需要转换为矩阵

matrix0 <- data.matrix (plan0_sna)

但是在结果数据中没有状态名称

    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

我想进行分析而不会失去州名,例如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云端硬盘中获取了数据。这应该与您的数据一起使用:

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)转换为矩阵(matrix0)时,因子(LOCAL列)会自动转换为数字。因此,在matrix0中有一个称为LOCAL的列,但它仅包含数字。

此外,每个级别的LOCAL都有几行,因此您不能将LOCAL列作为数据帧(plan0)中的行名,因为数据帧不允许重复的行名。但是,这可以使用矩阵来完成!

因此,您可以首先从matrix0中删除LOCAL列,然后将表重命名为matrix1。然后,您可以将行名称分配给matrix1。这将允许您仅使用数字数据运行PCA,并在生成的双线图上获取名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中进行ggplot时,为什么不出现无价状态?

来自分类Dev

为什么在UI中忽略UIScrollView contentSize但在viewDidAppear方法中进行设置时可以工作?

来自分类Dev

当您可以在.js文件中进行设置时,为什么还要使用.env文件?

来自分类Dev

转换纵向数据以在R中进行事件分析

来自分类Dev

为什么在r中的“元”包中进行荟萃分析的某些研究得到不同的95%置信区间?

来自分类Dev

进行PCA分析时,sklearn的skpca.fit有什么错误?

来自分类Dev

在php中进行数据库转储时,为什么需要给出完整的mysqldump路径

来自分类Dev

在R中进行子设置时出错-空数据帧

来自分类Dev

在adehabitatHR中进行家庭范围分析时,我的数据应采用哪种格式?

来自分类Dev

为什么即使在useEffect()中进行清理,我的React组件仍在更新状态?

来自分类Dev

为什么在强制到数据帧时R将数字和字符转换为因数?

来自分类Dev

尽管它可以在MinGW中进行编译,但为什么它不能在VS Express 2013中进行编译?

来自分类Dev

为什么我可以使用3维在R中对数据帧进行子集化?

来自分类Dev

E <-`(`* tmp *`,value = 1:9)中的错误:尝试在R中进行图分析时索引无效

来自分类Dev

R,如何在数据帧的循环中进行方差分析?

来自分类Dev

不确定是否可以过滤我要分析的数据,不知道是否可以在excel中进行

来自分类Dev

为什么用较小的数字更快地在Python中进行浮点除法?

来自分类Dev

为什么我仍然可以在Google Analytics(分析)信息中心中查看分析数据?

来自分类Dev

为什么发布到 php 的数据可以打印但不能在 if 中进行比较。(仅限 esp8266。PC 网络浏览器工作正常)

来自分类Dev

如果可以在没有JOIN的多个表中进行选择,为什么还要使用JOIN?

来自分类Dev

为什么在依赖注入中进行反思?

来自分类Dev

当我在php中进行分页时单击页面2时,查询将恢复为未过滤状态

来自分类Dev

在iOS 7中进行编辑时,UITextView光标无法正确定位。为什么?

来自分类Dev

在C#中进行多线程处理时,为什么要使bool易失?

来自分类Dev

为什么SqS消息有时仍在队列中进行

来自分类Dev

当在管道块命令中进行“ IF”比较时,为什么会出现错误消息?

来自分类Dev

为什么在熊猫中进行元素操作时有时需要添加.value?

来自分类Dev

在VS2010中进行调试时,为什么控制键会“卡住”?

来自分类Dev

为什么SqS消息有时仍在队列中进行

Related 相关文章

  1. 1

    在R中进行ggplot时,为什么不出现无价状态?

  2. 2

    为什么在UI中忽略UIScrollView contentSize但在viewDidAppear方法中进行设置时可以工作?

  3. 3

    当您可以在.js文件中进行设置时,为什么还要使用.env文件?

  4. 4

    转换纵向数据以在R中进行事件分析

  5. 5

    为什么在r中的“元”包中进行荟萃分析的某些研究得到不同的95%置信区间?

  6. 6

    进行PCA分析时,sklearn的skpca.fit有什么错误?

  7. 7

    在php中进行数据库转储时,为什么需要给出完整的mysqldump路径

  8. 8

    在R中进行子设置时出错-空数据帧

  9. 9

    在adehabitatHR中进行家庭范围分析时,我的数据应采用哪种格式?

  10. 10

    为什么即使在useEffect()中进行清理,我的React组件仍在更新状态?

  11. 11

    为什么在强制到数据帧时R将数字和字符转换为因数?

  12. 12

    尽管它可以在MinGW中进行编译,但为什么它不能在VS Express 2013中进行编译?

  13. 13

    为什么我可以使用3维在R中对数据帧进行子集化?

  14. 14

    E <-`(`* tmp *`,value = 1:9)中的错误:尝试在R中进行图分析时索引无效

  15. 15

    R,如何在数据帧的循环中进行方差分析?

  16. 16

    不确定是否可以过滤我要分析的数据,不知道是否可以在excel中进行

  17. 17

    为什么用较小的数字更快地在Python中进行浮点除法?

  18. 18

    为什么我仍然可以在Google Analytics(分析)信息中心中查看分析数据?

  19. 19

    为什么发布到 php 的数据可以打印但不能在 if 中进行比较。(仅限 esp8266。PC 网络浏览器工作正常)

  20. 20

    如果可以在没有JOIN的多个表中进行选择,为什么还要使用JOIN?

  21. 21

    为什么在依赖注入中进行反思?

  22. 22

    当我在php中进行分页时单击页面2时,查询将恢复为未过滤状态

  23. 23

    在iOS 7中进行编辑时,UITextView光标无法正确定位。为什么?

  24. 24

    在C#中进行多线程处理时,为什么要使bool易失?

  25. 25

    为什么SqS消息有时仍在队列中进行

  26. 26

    当在管道块命令中进行“ IF”比较时,为什么会出现错误消息?

  27. 27

    为什么在熊猫中进行元素操作时有时需要添加.value?

  28. 28

    在VS2010中进行调试时,为什么控制键会“卡住”?

  29. 29

    为什么SqS消息有时仍在队列中进行

热门标签

归档