我正在使用xtable生成表格放入Latex中,想知道是否有一种方法可以对单元格进行条件格式设置,以使所有显著的p值都以灰色显示?我在TexShop中使用Knitr。
这里是一个示例,使用ggplot2中的diamonds数据,并运行TukeyHSD测试来预测从cut中的carat。
这里是一个示例,使用ggplot2中的diamonds数据,并运行TukeyHSD测试来预测从cut中的carat。
library(ggplot2)
library(xtable)
summary(data.aov <- aov(carat~cut, data = diamonds))
data.hsd<-TukeyHSD(data.aov)
data.hsd.result<-data.frame(data.hsd$cut)
data.hsd.result
我可以使用以下代码将data.hsd.result
转换为xtable格式:
xtable(data.hsd.result)
在LaTeX中,输出如下所示: diff lwr upr p.adj
Good-Fair -0.19695197 -0.23342631 -0.16047764 0.000000e+00
Very Good-Fair -0.23975525 -0.27344709 -0.20606342 0.000000e+00
Premium-Fair -0.15418175 -0.18762721 -0.12073628 0.000000e+00
Ideal-Fair -0.34329965 -0.37610961 -0.31048970 0.000000e+00
Very Good-Good -0.04280328 -0.06430194 -0.02130461 5.585171e-07
Premium-Good 0.04277023 0.02165976 0.06388070 3.256208e-07
Ideal-Good -0.14634768 -0.16643613 -0.12625923 0.000000e+00
Premium-Very Good 0.08557350 0.06974902 0.10139799 0.000000e+00
Ideal-Very Good -0.10354440 -0.11797729 -0.08911151 0.000000e+00
Ideal-Premium -0.18911791 -0.20296592 -0.17526989 0.000000e+00
是否可以自动将任何p值小于0.05的值标记为灰色背景或以某种方式突出显示?显然,对于这个数据集,整个列都会被标记,但我希望能够处理所有我的数据。
df$V2 < 0.5
;) - Luca Bragliaifelse
中使用round(df$V2, 4L)
。此外,你还可以添加options(scipen = 10)
来惩罚科学计数法。 - akhmeddf$V3 = ifelse(df$V2 < 0.5, paste0("\\colorbox{red}{", df$V2, "}"), df$V2)
和df$V3 = ifelse(df$V2 >= 0.5 & df$V2 <0.8, paste0("\\colorbox{blue}{", df$V2, "}"), df$V2)
,第二行代码将无法工作,因为第一行代码将 df$V3 转换为 "character",在其上不能强加数值条件。有什么解决方法吗? - Jason Goalifelse
。请看我的编辑,有一个更优雅的解决方案。 - Victorp