处理变量中的小值时,TableOne和gtsummary出现问题

wz8daaqr  于 2023-11-14  发布在  其他
关注(0)|答案(1)|浏览(117)

晚上好!
当我试图创建一个包含非常小数量级的变量的表时,比如e-8 e-8,我在使用TableOne(和gtsummary)时遇到了一个挑战。由于这些值的大小很小,TableOne似乎将它们视为零。
这里有一个可重复的例子:

nrow(iris)
 rands <- 1e-9 * runif(150)

iris$rands = rands
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处理此问题的建议,我们将不胜感激!
谢谢你,谢谢

cbjzeqam

cbjzeqam1#

看看?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)


它们不会减少到零。相反,由于print.TableOne()中的默认值contDigits,它们不会显示。

相关问题