增加 dunn.test p 值中的位数
Increasing the number of digits in dunn.test p-values
我正在使用 dunn.test 包中的 dunn.test()
函数在显示均值显着差异的 Kruskal-Wallis 之后对组进行成对比较。
不过,dunn.test()
函数只报告小数点后第四位。其中一项比较报告为 0.0000。我尝试使用 options(digits = 10)
来增加它报告的位数,但这不会增加小数位数。
有什么方法可以增加此函数报告的位数?
这是一个例子:
my_data <- structure(list(species =
c("ABIBAL", "ABIBAL", "ABIBAL", "ACEPEN", "ACEPEN", "ACEPEN", "ACERUB", "ACERUB", "ACERUB", "ACESAC", "ACESAC",
"ACESAC", "ACESPI", "ACESPI", "ACESPI", "ARANUD", "ARANUD", "ARANUD",
"ARITRI", "ARITRI", "ARITRI", "ATHANG", "ATHANG", "ATHANG", "BETALL",
"BETALL", "BETALL", "CARARC", "CARARC", "CARARC", "CARINT", "CARINT",
"CARINT", "CINLAT", "CINLAT", "CINLAT", "CLIBOR", "CLIBOR", "CLIBOR",
"DENPUN", "DENPUN", "DENPUN", "DRYCAM", "DRYCAM", "DRYCAM", "DRYINT",
"DRYINT", "DRYINT", "FAGGRA", "FAGGRA", "FAGGRA", "FRAAME", "FRAAME",
"FRAAME", "HUPLUC", "HUPLUC", "HUPLUC", "LONCAN", "LONCAN", "LONCAN",
"MAICAN", "MAICAN", "MAICAN", "MAIRAC", "MAIRAC", "MAIRAC", "MEDVIR",
"MEDVIR", "MEDVIR", "NABSPP", "NABSPP", "NABSPP", "OCLACU", "OCLACU",
"OCLACU", "OXAMON", "OXAMON", "OXAMON", "PARNOV", "PARNOV", "PARNOV",
"PHECON", "PHECON", "PHECON", "PICRUB", "PICRUB", "PICRUB", "RUBIDA",
"RUBIDA", "RUBIDA", "SAMRAC", "SAMRAC", "SAMRAC", "STRAMP", "STRAMP",
"STRAMP", "TIACOR", "TIACOR", "TIACOR", "TRIBOR", "TRIBOR", "TRIBOR",
"TRIERE", "TRIERE", "TRIERE", "TRIUND", "TRIUND", "TRIUND", "TSUCAN",
"TSUCAN", "TSUCAN", "UVUSES", "UVUSES", "UVUSES", "VIBLAN", "VIBLAN",
"VIBLAN", "VIOBLA", "VIOBLA", "VIOBLA", "VIOROT", "VIOROT", "VIOROT"),
name = c("all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal"),
value = c(0.805, 0.729, 0.611, 0.84, 0.729, 0.636, 0.682, 0.592, 0.497, 0.764,
0.762, 0.666, 0.783, 0.668, 0.596, 0.828, 0.735, 0.684, NA, 0.736,
0.715, 0.765, 0.758, 0.636, 0.704, 0.626, NA, NA, NA, NA, 0.771,
0.589, NA, 0.799, 0.649, 0.583, 0.733, 0.753, NA, 0.694, 0.647,
NA, NA, NA, NA, 0.82, 0.833, 0.717, 0.821, 0.821, 0.747, 0.766,
0.717, 0.675, 0.742, 0.667, 0.704, NA, 0.591, NA, 0.793, 0.76,
0.74, 0.782, 0.747, 0.599, 0.755, 0.699, 0.586, 0.738, 0.652,
0.572, 0.62, 0.522, NA, 0.753, 0.531, 0.546, NA, NA, 0.51, 0.736,
0.708, 0.572, 0.657, 0.704, 0.638, 0.694, 0.675, NA, 0.769, 0.739,
0.717, NA, NA, 0.6, 0.77, 0.678, 0.732, 0.735, 0.697, NA, 0.83,
0.705, 0.585, 0.709, 0.683, 0.633, NA, NA, NA, 0.749, 0.748,
0.595, 0.827, 0.725, 0.722, 0.744, 0.676, 0.634, 0.799, 0.793,
0.68)), row.names = c(NA, -123L), class = c("tbl_df", "tbl", "data.frame"))
dunn.test::dunn.test(my_data$value,
my_data$name,
method = "bonferroni")
谢谢!
如果将该函数调用的输出分配给一个对象名称,比如 res
那么您可以看到存在 p 值:
str(res)
List of 5
$ chi2 : num 39
$ Z : num [1:3] 3.61 6.21 2.8
$ P : num [1:3] 1.54e-04 2.68e-10 2.55e-03
$ P.adjusted : num [1:3] 4.63e-04 8.05e-10 7.66e-03
$ comparisons: chr [1:3] "all_3 - topo_spectral_3" "all_3 - universal" "topo_spectral_3 - universal"
如果你想用默认的有效数字数打印它们,你可以只使用 R 控制台的 REPL 行为所隐含的默认 print
操作:
res$P.adjusted
[1] 4.629094e-04 8.053304e-10 7.663309e-03
如果您想要不同数量的有效数字,请使用 print()
和 digits 参数:
print( res$P.adjusted, dig =10)
[1] 4.629093512e-04 8.053304308e-10 7.663308987e-03
res
对象是一个没有附加 class 的列表,因此打印到控制台的 material 不是 class 特定打印方法的结果,而是由于 dunn.test
主体中的代码使用了 cat
函数。
如果像 一样,将测试 return 值分配给变量 res
,您将能够看到对应于打印的值(实际上是cat
) 0.0000*
来自组比较 "all_3 - universal"
.
打印的值是 P.adjusted
列表成员。
res <- dunn.test::dunn.test(my_data$value,
my_data$name,
method = "bonferroni")
i <- which(res$comparisons == "all_3 - universal")
res$P[i]
#[1] 2.684435e-10
res$P.adjusted[i]
#[1] 8.053304e-10
我正在使用 dunn.test 包中的 dunn.test()
函数在显示均值显着差异的 Kruskal-Wallis 之后对组进行成对比较。
不过,dunn.test()
函数只报告小数点后第四位。其中一项比较报告为 0.0000。我尝试使用 options(digits = 10)
来增加它报告的位数,但这不会增加小数位数。
有什么方法可以增加此函数报告的位数?
这是一个例子:
my_data <- structure(list(species =
c("ABIBAL", "ABIBAL", "ABIBAL", "ACEPEN", "ACEPEN", "ACEPEN", "ACERUB", "ACERUB", "ACERUB", "ACESAC", "ACESAC",
"ACESAC", "ACESPI", "ACESPI", "ACESPI", "ARANUD", "ARANUD", "ARANUD",
"ARITRI", "ARITRI", "ARITRI", "ATHANG", "ATHANG", "ATHANG", "BETALL",
"BETALL", "BETALL", "CARARC", "CARARC", "CARARC", "CARINT", "CARINT",
"CARINT", "CINLAT", "CINLAT", "CINLAT", "CLIBOR", "CLIBOR", "CLIBOR",
"DENPUN", "DENPUN", "DENPUN", "DRYCAM", "DRYCAM", "DRYCAM", "DRYINT",
"DRYINT", "DRYINT", "FAGGRA", "FAGGRA", "FAGGRA", "FRAAME", "FRAAME",
"FRAAME", "HUPLUC", "HUPLUC", "HUPLUC", "LONCAN", "LONCAN", "LONCAN",
"MAICAN", "MAICAN", "MAICAN", "MAIRAC", "MAIRAC", "MAIRAC", "MEDVIR",
"MEDVIR", "MEDVIR", "NABSPP", "NABSPP", "NABSPP", "OCLACU", "OCLACU",
"OCLACU", "OXAMON", "OXAMON", "OXAMON", "PARNOV", "PARNOV", "PARNOV",
"PHECON", "PHECON", "PHECON", "PICRUB", "PICRUB", "PICRUB", "RUBIDA",
"RUBIDA", "RUBIDA", "SAMRAC", "SAMRAC", "SAMRAC", "STRAMP", "STRAMP",
"STRAMP", "TIACOR", "TIACOR", "TIACOR", "TRIBOR", "TRIBOR", "TRIBOR",
"TRIERE", "TRIERE", "TRIERE", "TRIUND", "TRIUND", "TRIUND", "TSUCAN",
"TSUCAN", "TSUCAN", "UVUSES", "UVUSES", "UVUSES", "VIBLAN", "VIBLAN",
"VIBLAN", "VIOBLA", "VIOBLA", "VIOBLA", "VIOROT", "VIOROT", "VIOROT"),
name = c("all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal", "all_3",
"topo_spectral_3", "universal", "all_3", "topo_spectral_3", "universal",
"all_3", "topo_spectral_3", "universal", "all_3", "topo_spectral_3",
"universal", "all_3", "topo_spectral_3", "universal"),
value = c(0.805, 0.729, 0.611, 0.84, 0.729, 0.636, 0.682, 0.592, 0.497, 0.764,
0.762, 0.666, 0.783, 0.668, 0.596, 0.828, 0.735, 0.684, NA, 0.736,
0.715, 0.765, 0.758, 0.636, 0.704, 0.626, NA, NA, NA, NA, 0.771,
0.589, NA, 0.799, 0.649, 0.583, 0.733, 0.753, NA, 0.694, 0.647,
NA, NA, NA, NA, 0.82, 0.833, 0.717, 0.821, 0.821, 0.747, 0.766,
0.717, 0.675, 0.742, 0.667, 0.704, NA, 0.591, NA, 0.793, 0.76,
0.74, 0.782, 0.747, 0.599, 0.755, 0.699, 0.586, 0.738, 0.652,
0.572, 0.62, 0.522, NA, 0.753, 0.531, 0.546, NA, NA, 0.51, 0.736,
0.708, 0.572, 0.657, 0.704, 0.638, 0.694, 0.675, NA, 0.769, 0.739,
0.717, NA, NA, 0.6, 0.77, 0.678, 0.732, 0.735, 0.697, NA, 0.83,
0.705, 0.585, 0.709, 0.683, 0.633, NA, NA, NA, 0.749, 0.748,
0.595, 0.827, 0.725, 0.722, 0.744, 0.676, 0.634, 0.799, 0.793,
0.68)), row.names = c(NA, -123L), class = c("tbl_df", "tbl", "data.frame"))
dunn.test::dunn.test(my_data$value,
my_data$name,
method = "bonferroni")
谢谢!
如果将该函数调用的输出分配给一个对象名称,比如 res
那么您可以看到存在 p 值:
str(res)
List of 5
$ chi2 : num 39
$ Z : num [1:3] 3.61 6.21 2.8
$ P : num [1:3] 1.54e-04 2.68e-10 2.55e-03
$ P.adjusted : num [1:3] 4.63e-04 8.05e-10 7.66e-03
$ comparisons: chr [1:3] "all_3 - topo_spectral_3" "all_3 - universal" "topo_spectral_3 - universal"
如果你想用默认的有效数字数打印它们,你可以只使用 R 控制台的 REPL 行为所隐含的默认 print
操作:
res$P.adjusted
[1] 4.629094e-04 8.053304e-10 7.663309e-03
如果您想要不同数量的有效数字,请使用 print()
和 digits 参数:
print( res$P.adjusted, dig =10)
[1] 4.629093512e-04 8.053304308e-10 7.663308987e-03
res
对象是一个没有附加 class 的列表,因此打印到控制台的 material 不是 class 特定打印方法的结果,而是由于 dunn.test
主体中的代码使用了 cat
函数。
如果像 res
,您将能够看到对应于打印的值(实际上是cat
) 0.0000*
来自组比较 "all_3 - universal"
.
打印的值是 P.adjusted
列表成员。
res <- dunn.test::dunn.test(my_data$value,
my_data$name,
method = "bonferroni")
i <- which(res$comparisons == "all_3 - universal")
res$P[i]
#[1] 2.684435e-10
res$P.adjusted[i]
#[1] 8.053304e-10