问题描述
- r语言如何按百分位数对矩阵进行分组
-
我有各省GDP数据,求的了百分位数,现在需要利用百分位数将所有地区分为3组
并分别利用参数检验和非参数检验方法来分析相邻两组之间gdp有无显著差异,求教高手
pcode name gdp
11 北京 2.133
12 天津 1.5722
13 河北 2.9421
14 山西 1.2759
15 内蒙 1.7769
21 辽宁 2.86
22 吉林 1.3803
23 黑龙 1.5039
31 上海 2.356
32 江苏 6.51
33 浙江 4.0153
34 安徽 2.0848
35 福建_台湾 2.4055
36 江西 1.5708
37 山东 5.9426
41 河南 3.4939
42 湖北 2.7367
43 湖南 2.7048
44 广东_港澳 6.7792
45 广西 1.5672
46 海南 0.35
50 重庆 1.4265
51 四川 2.8536
52 贵州 0.9251
53 云南 1.2815
54 西藏 0.0921
61 陕西 1.7689
62 甘肃 0.6837
63 青海 0.2301
64 宁夏 0.2752
65 新疆 0.9264
解决方案
dt <- read.delim(text =
'
pcode name gdp
11 北京 2.133
12 天津 1.5722
13 河北 2.9421
14 山西 1.2759
15 内蒙 1.7769
21 辽宁 2.86
22 吉林 1.3803
23 黑龙 1.5039
31 上海 2.356
32 江苏 6.51
33 浙江 4.0153
34 安徽 2.0848
35 福建_台湾 2.4055
36 江西 1.5708
37 山东 5.9426
41 河南 3.4939
42 湖北 2.7367
43 湖南 2.7048
44 广东_港澳 6.7792
45 广西 1.5672
46 海南 0.35
50 重庆 1.4265
51 四川 2.8536
52 贵州 0.9251
53 云南 1.2815
54 西藏 0.0921
61 陕西 1.7689
62 甘肃 0.6837
63 青海 0.2301
64 宁夏 0.2752
65 新疆 0.9264
', sep=' ', header=T)
dt_1 <- dt %>%
arrange(desc(gdp)) %>%
mutate(class=c(rep(c(1,2,3), each=10),3))
# 正态性检验
shapiro.test(dt_1$gdp)
# 方差分析
gdp_aov <- aov(gdp~class, dt_1)
summary(gdp_aov)
# Kruskal-Wallis检验
kruskal.test(gdp~class, dt_1)
随后进行多重检验
解决方案二:
忘了说了, 一共31组样本不能被3整除, 我按照gdp排列后, 1-10, 11-20, 21-31分为3组
时间: 2024-10-03 04:06:32