r - 如何在 kableExtra 表的某些列中使用数学符号或工程符号?
问题描述
可以将docxtools::format_engr()应用于表格以从计算机符号切换到工程符号。
(来源:docxtools)
应用于docxtools::format_engr()
df 会将所有列更改为工程符号。
- 如何将该函数仅应用于 df 的某些列?
- 数学符号是否有等效函数?
对于下面的玩具示例,我们的想法是获取p_Pa
工程/数学符号中的列,而所有其他列保持不变。
MWE
根据需要的表仅缺少p_Pa
工程符号中的列
library(docxtools)
density2 <- density
density2$density <- density2$density*1000
kable(density2, digits = 2)
应用格式:“所有”列更改为工程符号
# Apply formatting:
density_engr <- density2 %>%
docxtools::format_engr()
kable(density_engr)
传递sigdig()
给docxtools::format_engr()
(例如,sth. like "sigdig = c(0,0,2,3,2,3)")来定义如何格式化哪一列在这里没有帮助。工程符号仍然适用于所有列,只是位数不同。
这个想法是将 df 作为kableExtra
表格包含在使用PDF 和 HTMLR markdown
编译的报告中。knitr
解决方案
您可以创建一个仅包含要格式化的列的数据框,对其进行格式化,然后将其分配到原始位置。例如,从您的density2
:
density_engr <- density2 # no formatting yet
do_format <- c("T_K", "p_Pa") # which columns to format?
density_engr[do_format] <- docxtools::format_engr(density_engr[do_format])
除了 之外,还有其他方法可以进行索引density_engr[do_format]
,但要小心:您要确保获得数据框作为结果,您不想提取列。
推荐阅读
- reactjs - 如何使用 MUI 以编程方式显示“涟漪效应”?
- c++ - 错误 C2220:警告被视为错误 - 我的代码中没有生成“对象”文件
- r - 尽管选择了正确的列,但 R 函数 andrews() 会导致“未定义的列错误”?
- javascript - 我想将特定年份提取到一个变量中,然后在段落中显示它,这是一个显示 1 月 1 日是星期日的 javascript 代码
- sql - Oracle 代理访问
- react-native-android - 链接网址未清除
- javascript - 状态更新未有效反映在浏览器窗口上 - 反应状态更新问题
- mpeg-dash - 具有非零重复计数的分段列表的 Dash 播放器
- authentication - 接入设备(三层交换机)不支持portal协议如何实现portal认证
- oracle - Crystal Reports - 如果页面没有记录,则禁止页面标题