全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2431 2
2018-03-09
悬赏 40 个论坛币 已解决
table2 <- xtabs(rswt_nat~edus+incs)
> table2
                                     incs
edus                                                >50000        0-10000     10000-20000 20000-30000  30000-50000
  beyond undergraduate                    7025696       5292361     3498810        6085399         8262491
  junior high school                           7699474      162450144    74005236     30165193      16127431
  senior high school & junior college    9842320      71039040     49235551     30420516       25027209
  under primary school                       3624412      363107393    66317954     18514663      10469600

根据以上命令生成了列联表,如上所示
但是我想重新对列联表的行进行重新排列,成为下面的样子,该如何改参数?
                                     incs
edus                                                >50000        0-10000     10000-20000 20000-30000  30000-50000
  beyond undergraduate                    7025696       5292361     3498810        6085399         8262491
  senior high school & junior college    9842320      71039040     49235551     30420516       25027209
  junior high school                           7699474      162450144    74005236     30165193      16127431
  under primary school                       3624412      363107393    66317954     18514663      10469600

也就是说把第二行和第三行调换一下,该怎么弄?
进而,如何随意改变行和列变量的次序?

请各位大佬指点!

最佳答案

457602353 查看完整内容

在建立data.frame以后,给你的横纵变量重新定义level。 你现在的level()出来的结果就是,xtabs出来的结果。用data$edus=factor(data$edus,levels=c("beyond undergraduate"," junior high school ","senior high school & junior college"," under primary school ")) ,这样就实现了第二行和第三行的调换
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-3-9 10:23:27
在建立data.frame以后,给你的横纵变量重新定义level。
你现在的level()出来的结果就是,xtabs出来的结果。用data$edus=factor(data$edus,levels=c("beyond undergraduate"," junior high school ","senior high school & junior college"," under primary school "))  ,这样就实现了第二行和第三行的调换
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-9 10:24:26
table2 <- xtabs(rswt_nat~edus+incs)
> table2
                                     incs
edus                                                >50000        0-10000     10000-20000 20000-30000  30000-50000
  beyond undergraduate                    7025696       5292361     3498810        6085399         8262491
  junior high school                           7699474      162450144    74005236     30165193      16127431
  senior high school & junior college    9842320      71039040     49235551     30420516       25027209
  under primary school                       3624412      363107393    66317954     18514663      10469600

根据以上命令生成了列联表,如上所示
但是我想重新对列联表的行进行重新排列,成为下面的样子,该如何改参数?
                                     incs
edus                                                >50000        0-10000     10000-20000 20000-30000  30000-50000
  beyond undergraduate                    7025696       5292361     3498810        6085399         8262491
  senior high school & junior college    9842320      71039040     49235551     30420516       25027209
  junior high school                           7699474      162450144    74005236     30165193      16127431
  under primary school                       3624412      363107393    66317954     18514663      10469600

也就是说把第二行和第三行调换一下,该怎么弄?
进而,如何随意改变行和列变量的次序?

请各位大佬指点!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群