[英]Number formatting in R
我有一个R矢量a = c(.45652356112, .0000063983562)
。 我想格式化该向量中的数字,使得得到的向量为c(.46, 6.4e-06)
。 当我做
format(a, digits=2, nsmall=2)
然后结果是c(4.6e-01, 6.4e-06)
而不是我想要的。 显然,每个元素应分别传递给format()
函数以获得所需的结果。 但是,由于原始a
的长度是50000,因此为每个元素调用format()
的for循环太慢了。 如何在没有循环的情况下获得所需的格式?
您可以将格式放在ifelse
条件中
ifelse(a < 0.001, format(a, digits = 2, nsmall = 2), round(a, 2))
# [1] "0.46" "6.4e-06"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.