提问人:G_biof 提问时间:11/13/2023 最后编辑:FriedeG_biof 更新时间:11/15/2023 访问量:24
处理变量中的小值时 TableOne 和 gtsummary 的问题
Issue with TableOne and gtsummary when Handling Small Values in Variables
问:
晚上好!
我目前在尝试创建具有非常小数量级的变量(例如 e−8e−8)的表时遇到了 TableOne(和 gtsummary)的挑战。由于这些值的最小大小,TableOne 似乎将这些值视为零。
下面是一个可重现的示例:
# library(gtsummary)
library(tableone)
data(iris)
iris$rands <- 1e-9 * runif(n = nrow(iris))
tableone::CreateTableOne(data = iris) |> print()
给
Overall
n 150
Sepal.Length (mean (SD)) 5.84 (0.83)
Sepal.Width (mean (SD)) 3.06 (0.44)
Petal.Length (mean (SD)) 3.76 (1.77)
Petal.Width (mean (SD)) 1.20 (0.76)
Species (%)
setosa 50 (33.3)
versicolor 50 (33.3)
virginica 50 (33.3)
rands (mean (SD)) 0.00 (0.00)
在此示例中,我想显示变量的实际平均值,即使它非常小,而不是将其简化为 0。
有关如何使用 TableOne 或 gtsummary 处理此问题的任何建议将不胜感激!
谢谢!
答:
0赞
Friede
11/13/2023
#1
看一看:?print.TableOne()
# library(gtsummary)
library(tableone)
data(iris)
iris$rands <- 1e-9 * runif(n = nrow(iris))
tableone::CreateTableOne(data = iris) |> print(contDigits = 10L)
给
Overall
n 150
Sepal.Length (mean (SD)) 5.8433333333 (0.8280661280)
Sepal.Width (mean (SD)) 3.0573333333 (0.4358662849)
Petal.Length (mean (SD)) 3.7580000000 (1.7652982333)
Petal.Width (mean (SD)) 1.1993333333 (0.7622376690)
Species (%)
setosa 50 (33.3)
versicolor 50 (33.3)
virginica 50 (33.3)
rands (mean (SD)) 0.0000000005 (0.0000000003)
它们不会减少到零。相反,由于缺省值为 in ,因此不会显示它们。contDigits
print.TableOne()
评论
0赞
G_biof
11/13/2023
谢谢!奇怪的是,我不知道咨询对象的具体方法。我也修改了 formatOptions 以科学记数法显示它,但它似乎保留了非必要(不必要的)十进制数字。你知道是否有解决方法吗?查阅印刷品。TableOne 似乎数字不可用,e 当我修改第一个 contDigits 时,它再次将其减少到 0。tableone::CreateTableOne(data = iris) %>% print(contDigits = 15L, formatOptions= list(scientific = TRUE))
0赞
Friede
11/13/2023
这是另一个问题。并且无法从您向我们展示的内容中复制。我想我的帖子回答了你的问题。无论如何,如果你没有找到任何解决方案,只需将各个列(变量)与一个常量相辅相成,并报告你的方法。
1赞
Friede
11/13/2023
对链接的解释 在链接的解释下。有很多选项,例如 list(zero.print = NULL)。科学记数法不是你在 Q 中提到的任何东西。formatOptions
format()
...
prettyNum()
评论