需求1
一种更稳健的方法来格式化一串数字(和潜在数字)
NA或其他非数字条目)转换为整洁的符号图格式
需求2
此外,不用丢失数字也会很好
格式。
bigmark=“,”使得很难满足需求2。没有它,你可以做类似的事情
this
sigfig <- function(x, dig = 3){
x <- suppressWarnings(as.numeric(x))
suppressWarnings(as.numeric(formatC(signif(x,digits=dig), digits=dig, format="fg", flag="#")))
}
sigfig(c(0.3459215,NA,"test",462.3468600,9.090436,6293.4189000))
[1] 0.346 NA NA 462.000 9.090 6290.000
满足需求1,但丢失了数字类型
sigfig_char <- function(x, dig = 3){
x <- suppressWarnings(as.numeric(x))
gsub("\\.$", "", formatC(signif(x,digits=dig), digits=dig, format="fg", flag="#", big.mark = ","))
}
sigfig_char(c(0.3459215,NA,"test",462.3468600,9.090436,6293.4189000))
[1] "0.346" " NA" " NA" "462" "9.09" "6,290"