如何用格式()过滤掉NA

时间:2013-11-27 12:27:54

标签: r format na

请考虑以下

vector <- c(100,100000,100,10000000,NA,NA)
format(vector, big.mark=",", scientific=FALSE, na.rm=TRUE)
# [1] "       100" "   100,000" "       100" "10,000,000" "        NA" "        NA"

我认为na.rm=TRUE不适用于format。如何获得相同的结果并从输出中过滤掉NA?

编辑:vector属于一个对象(图表),我不能修改它的长度。此外,我需要从format()出来的对象具有相同的输入对象长度。

2 个答案:

答案 0 :(得分:1)

我使用此子集vector <- vector[!is.na(vector)],然后您可以应用格式format(vector, big.mark=",", scientific=FALSE)

答案 1 :(得分:1)

无论

ifelse(
    is.na(vector),
    "",
    format(vector, big.mark=",", scientific=FALSE, na.rm=TRUE)
)

replace(
     format(vector, big.mark=",", scientific=FALSE, na.rm=TRUE),
     is.na(vector),
     ""
)