我使用的数据集,其中一个CSV文件中的第11列有数字数据。 它包含了太多的一些NA值。 这里是对象的STR:
str(dataheart)
num [1:4706] 14.3 18.5 18.1 NA NA NA 17.7 18 15.9 NA ...
所以,作为R的新学生,我所预料的结果range(dataheart)
是最小和最大values.From寻找与数据CSV文件,我知道,最小值和最大值是10.1和21.9。
但上述返回一个矢量
[1] NA NA
是我这个功能的认识不正确的?
你需要
range(x,na.rm=TRUE)
看?range
对于额外的信用,这里是在功能列表base
和stats
使用的包na.rm
:
uses_na_rm <- function(x) is.function(fx <- get(x)) &&
"na.rm" %in% names(formals(fx))
basevals <- ls(pos="package:base")
basevals[sapply(basevals,uses_na_rm)]
## [1] "colMeans" "colSums"
## [3] "is.unsorted" "mean.default"
## [5] "pmax" "pmax.int"
## [7] "pmin" "pmin.int"
## [9] "range.default" "rowMeans"
## [11] "rowsum.data.frame" "rowsum.default"
## [13] "rowSums" "Summary.data.frame"
## [15] "Summary.Date" "Summary.difftime"
## [17] "Summary.factor" "Summary.numeric_version"
## [19] "Summary.ordered" "Summary.POSIXct"
## [21] "Summary.POSIXlt"
statvals <- ls(pos="package:stats")
statvals[sapply(statvals,uses_na_rm)]
## [1] "density.default" "fivenum" "heatmap" "IQR"
## [5] "mad" "median" "median.default" "medpolish"
## [9] "quantile.default" "sd" "var"
为了进一步考虑其功能中的R处理的NA
S和如何,我们可以做有功能类似的搜索na.action
参数( lm
和朋友)。