【问题标题】:`sjPlot::tab_df()`--how to set the number of decimal places?`sjPlot::tab_df()`--如何设置小数位数?
【发布时间】:2019-08-16 02:58:08
【问题描述】:

我正在尝试使用sjPlot 生成描述性统计表,并且我正在尝试设置小数点后的位数。

这是我尝试过的(下面的可重现示例):

library(sjPlot)
library(sjmisc)

tab_df(mtcars, digits = 1)

descr(mtcars) %>% 
  tab_df(digits = 1)

在这两种情况下,小数点后仍然有很多数字。

编辑:

以下来自 Daniel 的代码产生的结果接近我正在寻找的结果,但您仍然可以看到尾随零被四舍五入,因此并非所有数字都保留两位小数。

library(sjPlot)
library(sjmisc)

tab_df(mtcars, digits = 1)

descr(mtcars) %>% 
  tab_df(digits = 1)

【问题讨论】:

    标签: r sjplot


    【解决方案1】:

    一个快速的解决方法是使用sjmisc::round_num()

    library(sjPlot)
    library(sjmisc)
    
    tab_df(mtcars, digits = 1)
    
    descr(mtcars) %>% 
      round_num(2) %>% 
      tab_df()
    

    【讨论】:

    • 这很有帮助。我已经在上面编辑的问题中显示了它产生的输出——仍然存在尾随零被四舍五入的问题。你知道一个简单的解决方法吗?
    • 您可以使用sprintf("%.2f") 左右,这也不是很多努力,但我认为在这种情况下直接在tab_df() 中实现该功能更容易。一旦此功能可用,我会及时通知您。
    • 我在tab_df() 中添加了一个digits-选项。您可以从sjPlot-GitHub 安装,例如devtools::install_github("strengejacke/sjPlot")。那么你的初始示例应该可以工作。
    • 非常感谢。很抱歉接下来问这样一个基本问题,但我已经尝试过谷歌搜索和调试:我已经运行了> devtools::install_github("strengejacke/sjPlot", force = TRUE),但 R 仍然给我一条消息building ‘sjPlot_2.7.0.9000.tar.gz’,即我相信它仍然是以前的版本,因为@987654332当我在 R Studio 中 Tab 时,@ -option 没有出现。
    • 版本号ok,表示开发版本。不过有点奇怪,因为来自 GitHub 版本的tab_df() 中有the digits-argument
    猜你喜欢
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2022-06-23
    • 1970-01-01
    相关资源
    最近更新 更多