R:如何阻止“看门人”中的装饰功能更改次要字符列?
下面是我正在经历的一个例子R:如何阻止“看门人”中的装饰功能更改次要字符列?,r,dplyr,janitor,R,Dplyr,Janitor,下面是我正在经历的一个例子 library(tidyverse) library(janitor) x <- data_frame(c1=c('a','a','b','b'), c2=c('a','b','c','d'), c3=runif(4,0,10), c4=runif(4,10,20), c5=runif(4,20,100)) x %>% a
library(tidyverse)
library(janitor)
x <- data_frame(c1=c('a','a','b','b'),
c2=c('a','b','c','d'),
c3=runif(4,0,10),
c4=runif(4,10,20),
c5=runif(4,20,100))
x %>%
adorn_totals(c('col')) %>%
adorn_percentages('row') %>%
adorn_pct_formatting() %>%
adorn_ns('front')
正如您所看到的,列c2
只是另一个字符列,因此不应该受到装饰
函数的影响,但当我从装饰pct_格式化
到装饰
时,它会以一种意外的方式对该列进行变异
是否有人知道如何防止这种情况,同时保持我下面相同的一般方法;这意味着我继续使用看门人
的装饰功能
我知道并能够编写代码来手动计算N和%s并将其粘贴到每个特定列中,但我正在寻找一种方法,如果可能的话,可以使用此处提供的函数来实现
谢谢。我找不到一种机制来防止门卫装饰字符栏
此外,在看门人回购协议中,还讨论了字符柱的装饰
我的解决方案是通过使用stringr::strsplit拆分字符串来处理adorn函数之后的字符列
library(stringr)
df %>%
mutate(character_col = sapply(strsplit(character_col, "\\s\\(" ), [, 1))
我希望这对遇到此问题的其他人有用。这一问题现在已在《看门人2.0.0》中修复。字符列由装饰()保留原样:
您还可以使用…
参数控制要修饰的列。您可以尝试查看源代码以了解发生了什么。否则,在package GitHub页面上打开一个问题,您可以尝试left\u join
将结果相互关联。。。
library(stringr)
df %>%
mutate(character_col = sapply(strsplit(character_col, "\\s\\(" ), [, 1))
x %>%
adorn_totals(c('col')) %>%
adorn_percentages('row') %>%
adorn_pct_formatting() %>%
adorn_ns('front')
c1 c2 c3 c4 c5 Total
a a 1.294509 (1.5%) 10.60898 (12.5%) 72.87039 (86.0%) 84.77388 (100.0%)
a b 6.557902 (11.2%) 19.27799 (32.9%) 32.73041 (55.9%) 58.56630 (100.0%)
b c 5.336008 (7.8%) 17.68432 (25.9%) 45.20563 (66.3%) 68.22596 (100.0%)
b d 4.984140 (8.6%) 16.18887 (27.8%) 37.05183 (63.6%) 58.22485 (100.0%)