统计分析-r语言如何按百分位数对矩阵进行分组

问题描述

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

统计分析-r语言如何按百分位数对矩阵进行分组的相关文章

R语言,如何根据row的index提取矩阵?谢谢指导!

问题描述 R语言,如何根据row的index提取矩阵?谢谢指导! 已知1.targetmatrix <- matrix(1:100 nrow = 20),2.targetindex <- c(2 8 12 15 19)[1] [2] [3] [4] [5][1] 1 21 41 61 81[2] 2 22 42 62 82[3] 3 23 43 63 83[4] 4 24 44 64 84[5] 5 25 45 65 85[6] 6 26 46 66 86[7] 7 27 47 67 87[8

R语言,如何根据row的index提取矩阵?

问题描述 R语言,如何根据row的index提取矩阵? 已知1.targetmatrix <- matrix(1:100, nrow = 20),2.targetindex <- c(2, 8, 12, 15, 19) [,1] [,2] [,3] [,4] [,5] [1,] 1 21 41 61 81 [2,] 2 22 42 62 82 [3,] 3 23 43 63 83 [4,] 4 24 44 64 84 [5,] 5 25 45 65 85 [6,] 6 26 46 66 86

《R语言编程艺术》——3.4 增加或删除矩阵的行或列

3.4 增加或删除矩阵的行或列 严格来说,矩阵的长度和维度是固定的,因此不能增加或删除行或列.但是可以给矩阵重新赋值,这样可以得到和增加或删除一样的效果.3.4.1 改变矩阵的大小 回忆之前通过重新赋值改变向量大小的方法: 第一个例子里,x原来长度为5,通过拼接和重新赋值,将其长度变为6.事实上我们没有改变x的长度,而是生成一个新的向量,然后赋值给x. 注意 重新赋值的过程可能会在用户看不见的情况下进行,在14章我们将会介绍.例如,即使是x[2]<-12这种小操作事实上都是一个重新赋值的过程.

R语言矩阵缺失值处理,谢谢指导~

问题描述 R语言矩阵缺失值处理,谢谢指导~ 我有10列,20行的矩阵中随机包含缺失值, 我想把NA用每行的中位数替代,我该怎么找到NA的行再用该行缺失值替换呢?咋写代码呢??? 解决方案 借助median求得中位数,然后用is.na找出NA的值并且替换 for(i in 1:nrow(test_mat)){ #求当前行的中位数,第二个参数表示去除NA值 temp_median <- median(test_mat[i, ], na.rm = TRUE) #用中位数替代NA值 test_mat[i

《R语言编程艺术》——2.1 标量、向量、数组与矩阵

2.1 标量.向量.数组与矩阵 在许多编程语言中,向量与标量(即单个数值)不同.例如,考虑下面的C代码: 这段代码请求编译器给一个x的整型变量x分配空间,并给一个名为y的三元素整型数组(C语言中的术语,类似于R中的向量)分配内存空间.但在R中,数字实际上被当做一元向量,因为数据类型里没有标量.R语言中变量类型称为模式(mode).回顾第1章,同一向量中的所有元素必须是相同的模式,可以是整型.数值型(浮点数).字符型(字符串).逻辑型(布尔逻辑).复数型等等.如果在程序中查看变量x的类型,可以调用

R语言为Hadoop集群数据统计分析带来革命性变化

R作为开源的数据统计分析语言正潜移默化的在企业中扩大自己的影响力.特有的扩展插件可提供免费扩展,并且允许R语言引擎运行在Hadoop集群之上. R语言是主要用于统计分析.绘图的语言和操作环境.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发.(也因此称为R)现在由"R开发核心团队"负责开发.R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用 S语言编写的代码都可以不作修改的在R环境下运行.R的语法是来自Scheme. R的源

《R语言游戏数据分析与挖掘》一2.1 开发环境准备和快速入门

2.1 开发环境准备和快速入门 2.1.1 R语言简介 R语言的前身是S语言,S语言是由AT &T Bell实验室的Rick Becker.John Chambers和Allan Wilks开发的一种用来进行数据探索.统计分析.作图的解释型语言.最初S语言的实现版本主要是S-PLUS.S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善.而R语言最初由来自新西兰大学的Ross Ihaka和Robert Gentleman开发(由于他们的名字都以R开头,所以该软

《R语言数据分析》——导读

前 言 自20多年前发源于学术界以来,R语言已经成为统计分析的通用语言,活跃于众多产业领域.目前,越来越多的商业项目开始使用R,兼之R用户开发了数以千计易于上手的开发包,都使得R成为数据分析工程师及科学家最常用的工具. 本书将帮助读者熟悉R语言这一开源生态系统,并介绍一些基本的统计背景知识,以及一小部分相关的数学知识.我们将着重探讨使用R语言解决实际的问题. 由于数据科学家在数据的采集.清洗及重构上将耗费大量时间,因此本书首先将通过第一手实例来重点探讨从文件.数据库以及在线资源中导入数据的方法,

R语言为Hadoop注入统计血脉

R是GNU的一个开源工具,具有S语言血统,擅长统计计算和统计制图.由Revolution Analytics发起的一个开源项目RHadoop将R语言与Hadoop结合在一起,很好发挥了R语言特长.广大R语言爱好者借助强大工具RHadoop,可以在大数据领域大展拳脚,这对R语言程序员来说无疑是个喜讯.作者从一个程序员的角度对R语言和Hadoop做了一次详细的讲解. 以下为原文: 前言 写过几篇关于RHadoop的技术性文章,都是从统计的角度,介绍如何让R语言利用Hadoop处理大数据.今天决定反过