如何在函数内使用 tabyl() 和两个变量?

2024-01-05

我正在制作两个包含大量变量的表,因此我希望编写使用 janitor 包中的 tabyl() 的函数,并映射我感兴趣的变量。

第一个函数工作正常:

cars = datasets::mtcars

first_table = function(variable){
  
  tabyl(variable, show_na = FALSE) %>% 
  adorn_pct_formatting(digits = 1) 
  
}

first_table(cars$vs)

第二个表的生成方式几乎相同,但应生成两个变量和行百分比的交叉表,而不是表示单个变量的表。此代码和输出代表我尝试对我的函数执行的操作:

cars %>% 
  tabyl(vs, am, show_na = FALSE) %>% 
  adorn_percentages("row") %>% 
  adorn_pct_formatting(digits = 1) %>% 
  adorn_ns()

然而,当我将其编写为函数时, tabyl() 函数似乎只想识别第一个变量:

second_table = function(variable1, variable2){
  
  tabyl(variable1, variable2, show_na = FALSE) %>% 
  adorn_percentages("row") %>% 
  adorn_pct_formatting(digits = 1) %>% 
  adorn_ns() 
  
}

second_table(cars$vs, cars$am)


我不太确定问题是什么,并且想知道如何编辑此函数以提供带有行百分比的 2x2 表,而无需使用上述函数即可生成该表。

任何帮助是极大的赞赏。


不要传递列值,而是传递不带引号的列名称并使用 curly_curly 运算符进行评估{{}}

second_table <- function(dat, variable1, variable2){
 dat %>% 
  tabyl({{variable1}}, {{variable2}}, show_na = FALSE) %>% 
  adorn_percentages("row") %>% 
  adorn_pct_formatting(digits = 1) %>% 
   adorn_ns() 

 }

-testing

second_table(cars, vs, am)
#  vs        0         1
#  0 66.7% (12) 33.3% (6)
#  1 50.0%  (7) 50.0% (7)

注意:最好也将数据集名称作为参数传递

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在函数内使用 tabyl() 和两个变量? 的相关文章

  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 要在子集中显示的非数字条目的维恩图

    我有以下数据框 SET1 SET2 SET3 par1 par2 par1 par2 par3 par2 par3 par4 par5 我想制作一个维恩图 其中所有这些 parX 元素都显示在各自的子集中 即作为标签 而不仅仅是重叠元素的数
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • 使用数据帧的 R 中的 EWMA 波动性

    我正在尝试从一系列股票每日收益中获取 EWMA 波动性 这些收益来自一个名为base retorno diario Data IBOV ABEV3 AEDU3 ALLL3 BBAS3 BBDC3 BBDC4 1 2000 01 04 0 0
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 在 Google Colab 上的 R 笔记本中安装 python 库

    我正在尝试在 Google Colab 上的 R 笔记本中安装 python 库 为此我使用 reticulate 包 library reticulate py install pandas 但我得到的结果是这个错误 Error coul
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 在 RGL 中将立方体绘制到 3D 散点图中

    我正在尝试向 3D 散点图添加较小的立方体 网格 具有指定边长 我希望立方体位于原点 我该怎么做呢 我已经玩过cube3d 但我似乎无法将立方体正确定位 也无法使其成为网格 因此我可以看到它包含的数据点 这是我所拥有的 library rg
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • R:改变堆积条形图的颜色

    library ggplot2 df2 lt data frame supp rep c VC OJ each 3 dose rep c D0 5 D1 D2 2 len c 6 8 15 33 4 2 10 29 5 head df2 g
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x
  • 更改ggplot2中的字体

    曾几何时 我改变了我的ggplot2字体使用windowsFonts Times windowsFont TT Times New Roman 现在 我无法摆脱这一切 在尝试设置family in ggplot2 theme 当我用不同的字

随机推荐

  • .wav 和 .gsm 文件格式有什么区别

    我正在学习星号 在此我曾使用过语音邮件应用程序 当我尝试播放语音邮件时 我看到了以下格式的文件 wav WAV gsm 以上文件格式有什么区别 有信息关于星号维基 http www voip info org tiki index php
  • 如何在 T-SQL 中转义百分号?

    This 问题也有答案 https stackoverflow com questions 700648 escape percentage sign db2 sql 但它特别提到了 DB2 我如何搜索string using LIKE已经
  • 无法使用selenium webdriver + firefox下载PDF

    我有一个 selenium 脚本 作为其执行的一部分 需要下载 PDF 并且下载是必要的 因为稍后会使用 PDF 我已经使用配置文件首选项方法来下载文件 这在我用于开发的虚拟机上运行良好 但是当将脚本移动到实时服务器时 它似乎不想下载所需的
  • 应用程序因 EXC_BREAKPOINT 错误而崩溃

    我正在 Xcode 7 2 中制作一个应用程序 我有一个带有按钮的主菜单 该按钮有一个转到设置视图控制器的序列 设置视图控制器具有以下代码 每次我到达该视图控制器时 它都会因 EXC BREAKPOINT 错误而崩溃 有趣的是 这种情况只发
  • 如何修复调试中的 ClassNotFoundException: kotlinx.coroutines.debug.AgentPremain?

    我正在运行几个项目作为 Spring Boot 应用程序 其中一个项目特别无法启动并抛出 java lang ClassNotFoundException kotlinx coroutines debug AgentPremain at j
  • 最先进的 Java EE 调试和监控工具

    多年来我第一次深入研究 Java EE 我正在寻找有关 Java EE 调试和监视工具的建议 IDlike找到一个可以让我动态探索线程空间等的工具 我主要使用 Tomcat update 和 Java 5 老鼠 如果您无法使用VisualV
  • 选择表中除表标题行之外的行

    如何使用jquery选择html表格中除表格标题行之外的行 table thead tr th Foo th td Lorem td td Ipsum td tr thead tr th th tr table
  • 如何使用 angularjs 输入文本并渲染 html?

    我想将文本框绑定到 angularjs 变量 并让它在单独的 div 中输出渲染的 html I have div div
  • 我们可以将 Github mac 应用程序与 GitLab 一起使用吗?

    我喜欢 GitHub Mac 应用程序 我通过我的 GitHub 帐户使用它 我加入了一个 GitLab 项目 我想知道是否可以将 GitHub 应用程序与 GitLab 存储库一起使用 我找到了一个post https stackover
  • 作为特定复杂类型扩展的任何类型元素的 xsd 序列

    基本上 如果这是 NET 它会看起来像这样 ISomething string A get int B get var somethings new List
  • Canvas.drawArc() 工件

    我在自定义视图中在画布上绘制圆弧 如下所示 Paint and rectangle被定义在外部onDraw 并为了简单起见添加到其中 protected void onDraw Canvas canvas super onDraw canv
  • javascript: 有没有可以测试网速的JS?

    我将测试我的网站速度 主要是网络服务器延迟 总结一下我想要实现的目标 1 在我的网站上托管一个带有javascript的网页 http myweb com test speed html 2 我把这个网址给我的朋友 3 他们不需要做任何事情
  • 添加(不是合并!)两个行和列不相等的数据框

    我想有效地对两个数据框的条目进行求和 尽管不能保证数据框具有相同的维度或列名称 合并并不是我真正想要的 相反 我想创建一个输出对象 其中包含属于任一添加的数据帧的所有行名称和列名称 在该输出的每个位置 我想对计算值使用以下逻辑 如果行 列配
  • 如何在构建工件后运行脚本

    我正在使用 Idea 做一个小型 LeJOS 项目 一切都很好 除了我希望在编译工件后将准备好的 jar 直接传输到我的 EV3 程序块上 我有一个现成的脚本 我现在从命令行手动启动它 但是 嘿 这是21世纪了 如何让 Idea 在构建工件
  • 模拟私有财产

    假设我们有一个这样的类 class Whatever private var something false fun aMethod Int return if something 1 else 0 根据文档 http mockk io p
  • yii2 中文件未上传

    我想上传图像并将其保存到我的数据库中 这里 数据库中的字段名称是image path 当我尝试上传图像时 它显示错误 调用成员函数saveAs 在线上的非对象上 customer gt file gt saveAs uploads cust
  • EntityFrameworkCore:如何在用户第一次使用应用程序时初始化数据库并为其提供种子

    我使用 Microsoft Visual Studio 2015 和 EntityFrameworkCore 构建了一个项目 我手动播种了一些虚拟数据 并且正在开发我的解决方案 现在 我想将其部署在服务器中 但我遇到的问题是 第一次启动应用
  • java.sql.Timestamp 的 Vaadin 转换器

    我正在使用 PostgreSQL 数据库 时间戳列具有 java sql Timestamp 类 即使此类扩展了 java util Date 当我编辑 PopupDateFiels 时 我也会收到错误 无法将 java util Date
  • 关于 MPI_Reduce

    就一个问题 如果我使用函数 MPI Reduce 当这是一个动态数组时 只有根可以分配接收缓冲区 例如 int r 10 int yloc y yloc calloc r sizeof int for all processes if I
  • 如何在函数内使用 tabyl() 和两个变量?

    我正在制作两个包含大量变量的表 因此我希望编写使用 janitor 包中的 tabyl 的函数 并映射我感兴趣的变量 第一个函数工作正常 cars datasets mtcars first table function variable