本文介绍利用R apply函数创建数据框中多个变量的频次表。

apply() 函数

首先我们看下apply()函数语法:

apply(X, MARGIN FUN)

参数解释:

  • X: 数组、矩阵或数据框
  • MARGIN: 对行或列应用函数,1 表示行, 2 表示按列
  • FUN: 对行或列应用的函数

下面通过几个示例进行说明。

示例1:所有变量的频次计算

下面示例计算数据框中所有变量的频次:

df <- data.frame(var1=c(1, 1, 2, 2, 2, 2, 3),var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),var3=c(6, 7, 7, 7, 8, 8, 9))
head(df)apply(df, 2, table)# $var1
#
# 1 2 3
# 2 4 1
#
# $var2
#
# A B
# 4 3
#
# $var3
#
# 6 7 8 9
# 1 3 2 1 

结果包括三个频率表,数据框中的每列分别展示,第一个频率表解释如下:

  • var1 列中1 出现2次
  • var1 列中2 出现4次
  • var1 列中3 出现1次

其他两个表类似。

示例2:计算特定变量的频次

下面代码计算数据框中第一、三两列的频次:

df <- data.frame(var1=c(1, 1, 2, 2, 2, 2, 3),var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),var3=c(6, 7, 7, 7, 8, 8, 9))apply((df[c('var1', 'var3')]), 2, table)# $var1
#
# 1 2 3
# 2 4 1
#
# $var3
#
# 6 7 8 9
# 1 3 2 1

示例3:计算排除某列的其他变量频次

我们可以利用数据框的索引,计算排除特定列的频次表:

df <- data.frame(index=c(1, 2, 3, 4, 5, 6, 7),var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),var3=c(6, 7, 7, 7, 8, 8, 9))apply((df[-1]), 2, table)# $var2
#
# A B
# 4 3
#
# $var3
#
# 6 7 8 9
# 1 3 2 1

R 计算数据框多个变量频次表相关推荐

  1. R语言epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(一维频率表、包含频数的百分比、累积的百分比、使用条形图可视化频数分布)、设置cum.percent参数即使存在缺失值也显示

    R语言使用epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(tab1函数计算数据的一维频率表.包含频数的百分比.累积的百分比.使用条形图可视化频数分布).设置cum.percen ...

  2. R语言epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(一维频率表、频数的百分比、累积的百分比、使用条形图可视化频数分布)、自定义设置cum.percent参数是否显示累积百分比

    R语言使用epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(tab1函数计算数据的一维频率表.包含频数的百分比.累积的百分比.使用条形图可视化频数分布).自定义设置cum.per ...

  3. R语言笔记-数值型变量的描述统计

    文章目录 不分亚组的描述统计 使用向量操作计算单个变量的描述统计量 计算汇总了多个变量的数据框的描述统计量:``sapply()`` ``psych``包:``describe()`` 分亚组的描述统 ...

  4. R语言编程 第一讲 变量与赋值

    R语言编程 第一讲 变量与赋值 R语言的变量名 赋值符号 <- 与 = 的区别 赋值符号 <- 的更多细节 Copy-on-Modify与Modify-in-Place 函数调用 列表 数 ...

  5. python中factor函数_左手用R右手Python系列——因子变量与分类重编码

    原标题:左手用R右手Python系列--因子变量与分类重编码 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...

  6. python 变量 r_左手用R右手Python系列——因子变量与分类重编码

    今天这篇介绍数据类型中因子变量的运用在R语言和Python中的实现. 因子变量是数据结构中用于描述分类事物的一类重要变量.其在现实生活中对应着大量具有实际意义的分类事物. 比如年龄段.性别.职位.爱好 ...

  7. R语言使用两个分类变量创建双向表(Two Way Table、两个分类变量的频率表)实战: 矩阵的双向表、dataframe的双向表、条形图和马赛克图来可视化频率表

    R语言使用两个分类变量创建双向表(Two Way Table.两个分类变量的频率表)实战: 矩阵的双向表.dataframe的双向表.条形图和马赛克图来可视化频率表 目录

  8. R语言ggplot2可视化分组变量下的数据分布(线条、色彩配置)、WVPlots包的ShadowHist函数比较分组下的数据直方图、ggplot2分面图facet_wrap可视化分组变量下的数据分布

    R语言ggplot2可视化分组变量下的数据分布(线条.色彩配置).WVPlots包的ShadowHist函数比较分组下的数据直方图.ggplot2分面图facet_wrap可视化分组变量下的数据分布 ...

  9. R使用dplyr包对变量、特征进行标准化(standardize)缩放操作

    R使用dplyr包对变量.特征进行标准化(standardize)缩放操作 目录 R使用dplyr包对变量.特征进行标准化(standardize)缩放操作

最新文章

  1. Java Mail 邮件发送(一):入门Demo
  2. 《C++面向对象高效编程(第2版)》——2.29 泛化关系(is-a)
  3. POJ-2728 Desert King 最优比例生成树 01分数规划/参数搜索
  4. 纯JDBC系统的开发随想
  5. CF914G Sum the Fibonacci(FWT模板+子集卷积)
  6. 技压群雄!2021 NTIRE @CVPR 2021的三冠一亚视频超分方案:BasicVSR++
  7. python动态图片转字符画_Python实现图片转字符画
  8. 人脸检测(十二)--DDFD算法
  9. 拼多多运营模式分析 | 如何杀出电商重围?
  10. Java集成云打印机(芯烨云)——文档篇
  11. pam php水解加碱,2钻井液化学.ppt
  12. 3D塔防游戏实现 5.2 3D怪物死亡(Feekood语言)
  13. 远程linux还原本地bak文件,Linux -- 服务器数据备份恢复策略
  14. 给新浪博客修改博客名字 超级简单图文教程
  15. 经典案例重点案例:点名表,JS正则验证全选、全不选、反选,点击可以实现三个功能,轮播图 字符串截取以及替换,图片切换
  16. Python实现植物大战僵尸
  17. 物质的构成,分子、原子、中子、质子等的关系。
  18. 什么是Docker?Docker安装及镜像、容器的基本命令实验+理论!!!
  19. html改变文字方向,css文字方向怎么设置?
  20. 开关磁阻电机控制仿真 开关磁阻电机传统控制:电流斩波控制、电压PWM控制、角度位置控制

热门文章

  1. 海信电视可以安装鸿蒙系统吗,【2019】海信电视安装第三方应用通用教程
  2. linux命令远程下载文件
  3. html制作满天星,怎样使用原生js做出满天星效果
  4. 英语对我们意味着什么?
  5. yan-master项目启动报错No bean named 'springSessionRepositoryFilter' is defined
  6. 20200211作业
  7. Qt播放视频报错 DirectShowPlayerService::doRender: Unresolved error code 0x80040266
  8. [原创] PS制作水笔
  9. Extraction of individual trees based on Canopy Height Model to monitor the state of the forest
  10. private static final long serialVersionUID = 1L详解