繁体   English   中英

R中的数字格式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM