仅在> 0.001时打印实际P值

时间:2014-02-09 11:05:32

标签: r latex knitr

考虑这两个t检验的P值

set.seed(1)
x <- c(rnorm(50,1), rnorm(50, 2))
y <- (c(rep("a", 50), rep("b", 50)))

t.test(x ~ y)$p.value

[1] 1.776808e-07

set.seed(2)
x <- c(rnorm(50), rnorm(50))
y <- (c(rep("a", 50), rep("b", 50)))

t.test(x ~ y)$p.value

[1] 0.3922354

第一个P值<0.001,第二个值> 0.001。如果P值恰好<0.001,我可以得到R将P值打印为&lt; 0.001。如果P值恰好是> 0.001,我可以得到R打印出实际的P值吗?因此,第一次t检验的结果应打印为"<0.001",第二次t检验的结果应打印为0.3922354

我正在使用knitr将R代码转换为我的论文的乳胶。我的规则是只有P值> 0.001应该打印为实际P值。

1 个答案:

答案 0 :(得分:5)

只需使用if语句:

p_val <- t.test(x,y)$p.value;
if(p_val>=0.001) {
  print(p_val)
} else {
  print("<0.001")
}