在 `emmeans::joint_tests` 输出中将“:”替换为“x”
Replace ":" with " x " in `emmeans::joint_tests` output
我从 tex exchange 提出这个问题,因为它在那里没有引起太多关注 我得到的答案不适用于 tables 超过 3 行。请看看我如何更改我的代码。感谢您的关注。 https://tex.stackexchange.com/questions/594324/how-to-replace-all-with-or-x-in-an-anova-table
library(emmeans)
library(kableExtra)
neuralgia.glm <- glm(Pain ~ Treatment * Sex * Age, family=binomial, data = neuralgia)
model term df1 df2 F.ratio p.value
Treatment 2 Inf 0 1.0000
Sex 1 Inf 0 0.9964
Age 1 Inf 0 0.9941
Treatment:Sex 2 Inf 0 1.0000
Treatment:Age 2 Inf 0 1.0000
Sex:Age 1 Inf 0 0.9942
Treatment:Sex:Age 2 Inf 0 1.0000
我想把所有的冒号都换成x,加上space方便查看。这就是我尝试使用 gsub(":", " x ")
的方法。 print(neuralgia.glm, export = T)
命令在编织时将 p 值格式保持为 <0.0001
而不是 0
。
这段代码只给了我一个 x。使用 sub
或 gsub
做同样的事情。
joint_tests(neuralgia.glm) %>%
print(, export = T) %>%
gsub(":", " x ") %>%
kable()
此代码用“x”替换了冒号,但它破坏了 table。
gsub( "\:", " x ", print(neuralgia.glm, export = T)) %>%
kable()
请注意 gsub()
的参数顺序 x =
作为 第三个 参数,而不是第一个。所以你的管道不起作用。
解决方案:
library(emmeans)
neuralgia.glm <- glm(Pain ~ Treatment * Sex * Age, family=binomial, data = neuralgia)
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
jt <- joint_tests(neuralgia.glm)
jt$`model term` <- gsub(":", " x ", jt$`model term`)
jt
#> model term df1 df2 F.ratio p.value
#> Treatment 2 Inf 0 1.0000
#> Sex 1 Inf 0 0.9970
#> Age 1 Inf 0 0.9951
#> Treatment x Sex 2 Inf 0 1.0000
#> Treatment x Age 2 Inf 0 1.0000
#> Sex x Age 1 Inf 0 0.9952
#> Treatment x Sex x Age 2 Inf 0 1.0000
由 reprex package (v2.0.0)
于 2021-06-07 创建
我从 tex exchange 提出这个问题,因为它在那里没有引起太多关注 我得到的答案不适用于 tables 超过 3 行。请看看我如何更改我的代码。感谢您的关注。 https://tex.stackexchange.com/questions/594324/how-to-replace-all-with-or-x-in-an-anova-table
library(emmeans)
library(kableExtra)
neuralgia.glm <- glm(Pain ~ Treatment * Sex * Age, family=binomial, data = neuralgia)
model term df1 df2 F.ratio p.value
Treatment 2 Inf 0 1.0000
Sex 1 Inf 0 0.9964
Age 1 Inf 0 0.9941
Treatment:Sex 2 Inf 0 1.0000
Treatment:Age 2 Inf 0 1.0000
Sex:Age 1 Inf 0 0.9942
Treatment:Sex:Age 2 Inf 0 1.0000
我想把所有的冒号都换成x,加上space方便查看。这就是我尝试使用 gsub(":", " x ")
的方法。 print(neuralgia.glm, export = T)
命令在编织时将 p 值格式保持为 <0.0001
而不是 0
。
这段代码只给了我一个 x。使用 sub
或 gsub
做同样的事情。
joint_tests(neuralgia.glm) %>%
print(, export = T) %>%
gsub(":", " x ") %>%
kable()
此代码用“x”替换了冒号,但它破坏了 table。
gsub( "\:", " x ", print(neuralgia.glm, export = T)) %>%
kable()
请注意 gsub()
的参数顺序 x =
作为 第三个 参数,而不是第一个。所以你的管道不起作用。
解决方案:
library(emmeans)
neuralgia.glm <- glm(Pain ~ Treatment * Sex * Age, family=binomial, data = neuralgia)
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
jt <- joint_tests(neuralgia.glm)
jt$`model term` <- gsub(":", " x ", jt$`model term`)
jt
#> model term df1 df2 F.ratio p.value
#> Treatment 2 Inf 0 1.0000
#> Sex 1 Inf 0 0.9970
#> Age 1 Inf 0 0.9951
#> Treatment x Sex 2 Inf 0 1.0000
#> Treatment x Age 2 Inf 0 1.0000
#> Sex x Age 1 Inf 0 0.9952
#> Treatment x Sex x Age 2 Inf 0 1.0000
由 reprex package (v2.0.0)
于 2021-06-07 创建