as.numeric of"< 2.0e-10"?

时间:2015-07-17 17:24:28

标签: r

我有一个p值的向量,我将这些极值改为系统最小值,如<2.0e-10。我想知道是否有办法让它们像数字一样,以便我可以制作情节和比较等。例如:

x0<-c(2.0e-18, 1.0e-40, 0.001, 0.05, 5.0e-5)

然后我将前两个替换为&#34;&lt; 2.0e-16&#34;:

x1<-ifelse(x0<2.0e-16, "<2.0e-16", x0)
x1
[1] "<2.0e-16" "<2.0e-16" "0.001"    "0.05"     "5e-05"

我想要的是使x1等效于其数字x2,例如:

x2<-c(2.0e-16, 2.0e-16, 0.001, 0.05, 5.0e-5)

有可能吗?

1 个答案:

答案 0 :(得分:0)

为什么不直接将x0<2.0e-16转换为2.0e-16。以下给出了您的预期输出:

x0 <- c(2.0e-18, 1.0e-40, 0.001, 0.05, 5.0e-5)
x1 <- ifelse(x0<2.0e-16, 2.0e-16, x0)

x2 <- c(2.0e-16, 2.0e-16, 0.001, 0.05, 5.0e-5)

identical(x1,x2)
[1] TRUE