6.R语言【频数、频率统计函数】一维、二维、三维

b站课程视频链接:
https://www.bilibili.com/video/BV19x411X7C6?p=1
腾讯课堂(最新,但是要花钱,我花99😢😢元买了,感觉讲的没问题,就是知识点结构有点乱,有点废话):
https://ke.qq.com/course/3707827#term_id=103855009
 
本笔记前面的笔记参照b站视频,【后面的画图】参考了付费视频
笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容,以及补充了个人理解
系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_11393896.html

1. 一维的数据框进行频数统计

因子是专门用来进行分组的,有因子才能分组【as.factor】,分组之后才能进行频数统计

> mtcars$cyl <- as.factor(mtcars$cyl)

> table(mtcars$cyl)     #频数统计
 4  6  8 
11  7 14 
# seq(from=,to=,by=组距)
> table(cut(mtcars$mpg,c(seq(10,50,10))))       #频数统计,数据不一样

(10,20] (20,30] (30,40] (40,50] 
     18      10       4       0 

查看每个因子具体的行数-:

> split(mtcars,mtcars$cyl)      #结果按照cyl分类
$`4`
                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Datsun 710     22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Merc 240D      24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230       22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Fiat 128       32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
还有7列..
$`6`
                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4      21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
还有5列..
$`8`
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
还有12列..



2. 二维的数据框进行频数统计

# vcd包中的风湿病数据集(arthritis)进行示范
> library(vcd)
># 统计两个量的频数,返回的结果是一个二维的列联表
> table(Arthritis$Treatment,Arthritis$Improved)     
         
          None Some Marked
  Placebo   29    7      7
  Treated   13    7     21

或者:

> with(data = Arthritis,table(Treatment,Improved))
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21

或者:

> xtabs(~Treatment+Improved,data = Arthritis)
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21



3. 三维的数据框进行频数统计

> y <- xtabs(~Treatment+Improved+Sex,data = Arthritis)
> y 
, , Sex = Female

         Improved
Treatment None Some Marked
  Placebo   19    7      6
  Treated    6    5     16

, , Sex = Male

         Improved
Treatment None Some Marked
  Placebo   10    0      1
  Treated    7    2      5
  
---------------------------------将结果转换为一个评估式的列联表
> ftable(y)  
                   Sex Female Male
Treatment Improved                
Placebo   None             19   10
          Some              7    0
          Marked            6    1
Treated   None              6    7
          Some              5    2
          Marked           16    5



4. 对列联表进【行和列】边际频数统计

1️⃣边际频数统计 :margin.table( )

> x <- xtabs(~Treatment+Improved,data = Arthritis)
> x
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21
  
  --------------------- 按行进行边际频数统计-----------------------
> margin.table(x,1)     
Treatment
Placebo Treated 
     43      41 
  ---------------------  按列进行边际频数统计-----------------------
> margin.table(x,2)     
Improved
  None   Some Marked 
    42     14     28 

2️⃣将边际频数的和添加到频数表中:addmargins( )

> addmargins(x)
         Improved
Treatment None Some Marked Sum
  Placebo   29    7      7  43
  Treated   13    7     21  41
  Sum       42   14     28  84
  ------------------------多了最后一行------------------------
> addmargins(x,1)   
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21
  Sum       42   14     28
  ------------------------多了最后一列------------------------
> addmargins(x,2)    
         Improved
Treatment None Some Marked Sum
  Placebo   29    7      7  43
  Treated   13    7     21  41



5. 频率统计:prop.table( )

就是在计算频数的外面,加个函数:prop.table( ) 就可以算出频率

1️⃣一维

在这里插入图片描述

2️⃣二维
在这里插入图片描述

3️⃣三维
在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是用R语言完成基本统计分析的步骤: 假设有一个名为data的数据集,其中包含了多个变量,我们将分别进行描述性统计分析、数分析、列联分析、相关性分析、独立性检验和t检验。 1. 描述性统计分析 集中趋势:使用mean函数计算平均值;使用median函数计算中位数。 离散趋势:使用sd函数计算标准差;使用IQR函数计算四分位距。 分布形状:使用hist函数或density函数绘制直方图或密度曲线。 ```R # 计算平均值和中位数 mean_value <- mean(data$var1) median_value <- median(data$var1) # 计算标准差和四分位距 sd_value <- sd(data$var1) iqr_value <- IQR(data$var1) # 绘制直方图 hist(data$var1) # 绘制密度曲线 density_data <- density(data$var1) plot(density_data) ``` 2. 数分析(分类变量:一维) 使用table函数生成数表;使用barplot函数或pie函数绘制数图。 ```R # 使用table函数生成数表 freq_table <- table(data$var2) # 绘制数图(柱状图) barplot(freq_table) # 绘制数图(饼图) pie(freq_table) ``` 3. 列联分析(二维,三维:交叉数(频率),边缘数和频率,边缘频率数(和)) 使用table函数生成列联表;使用margin.table函数生成边缘数表、边缘频率表和边缘数和频率表。 ```R # 使用table函数生成列联表 cross_table <- table(data$var2, data$var3) # 使用margin.table函数生成边缘数表、边缘频率表和边缘数和频率表 margin_freq <- margin.table(cross_table) margin_prop <- prop.table(margin_freq) margin_sum <- addmargins(cross_table) ``` 4. 相关性分析(协方差、相关系数(两个变量,多个变量)及检验(两个变量,多个变量)) 使用cov函数计算协方差;使用cor函数计算相关系数;使用cor.test函数进行相关性检验。 ```R # 计算两个变量的协方差和相关系数 cov_value <- cov(data$var1, data$var2) cor_value <- cor(data$var1, data$var2) # 进行两个变量的相关性检验 cor_test <- cor.test(data$var1, data$var2) ``` 对于多个变量的相关性分析,可以使用corrplot包进行可视化展示。 ```R # 安装corrplot包 install.packages("corrplot") # 加载corrplot包 library(corrplot) # 计算所有变量之间的相关系数矩阵 cor_matrix <- cor(data) # 绘制相关系数矩阵的热力图 corrplot(cor_matrix, method = "color") ``` 5. 独立性检验(卡方检验,Fisher检验) 使用chisq.test函数进行卡方检验;使用fisher.test函数进行Fisher检验。 ```R # 进行卡方检验 chisq_test <- chisq.test(data$var2, data$var3) # 进行Fisher检验 fisher_test <- fisher.test(data$var2, data$var3) ``` 6. t检验(独立样本、非独立样本) 使用t.test函数进行t检验。 ```R # 进行独立样本t检验 t_test_ind <- t.test(data$var1 ~ data$var2) # 进行非独立样本t检验 t_test_dep <- t.test(data$var1, data$var2, paired = TRUE) ``` 以上是用R语言完成基本统计分析的步骤,其中的代码仅供参考,实际使用时需要根据具体数据集进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你说的白是什么白_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值