Loading

R学习-5.Missing Values

Missing Values

缺失值在统计和数据分析中起着重要作用。通常,不能忽略数据中存在的缺失值,而应该仔细研究它们,看是其否存在造成这些缺失值的潜在模式或原因。

在R中用NA表示任意值是'not available' or 'missing' (in the statistical sense)。NA不是一个真实的值,就仅仅是一个占位符,故其它数和它进行算术运算、做比较等,也不会得到真实的值,只会返回NA

> NA + 2
[1] NA
> NA > 2
[1] NA
> c(1,2,NA,4,5,NA) + 4
[1]  5  6 NA  8  9 NA
> c(1,2,NA,4,5,NA) * 4
[1]  4  8 NA 16 20 NA
> c(1,2,NA,4,5,NA) < 4
[1]  TRUE  TRUE    NA FALSE FALSE    NA

可以通过调用is.na()来判断向量中的元素是否为NA

> vc = c(1,NA,2,NA,3)
> is.na(vc)
[1] FALSE  TRUE FALSE  TRUE FALSE

==可以用来判断两个值是否一样,那么NANA进行判断,是否返回TRUE呢?答案为否,前面说到,NA不是一个实际值,两个NA也是无法比较的。

> 5 == 5
[1] TRUE
> NA == NA
[1] NA
> c(1,NA,2,NA,3) == NA
[1] NA NA NA NA NA

还有一中类型missing value:NaN用来表示'not a number'。Inf表示无穷大'infinity'。可以用函数is.nan()来判断是否是NaN

> 0 / 0 
[1] NaN
> Inf - Inf
[1] NaN
> is.nan(0/0)
[1] TRUE

其它的函数介绍

sum()函数可以将函数的传入参数进行求和。比如:

> my_data <- c(1,2,3)
> sum(my_data)
[1] 6

前面提到NA和其它值进行算术计算结果也是返回NA。那如果sum()传入的参数中有NA值,是不是最终结果返回NA呢。

> sum(c(1,NA,2,NA,3))
[1] NA

对的,结果是返回NA。但sum()提供了一个参数'na.rm' 可以用来忽略数据中的missing value(NA, NaN)。TTRUE的缩写

> sum(c(1,NA,2,NaN,3), na.rm = T)
[1] 6

rnorm()可以用来随机生成一组正太分布数据。默认是标准正太分布,可以根据参数改变。

> y <- rnorm(10)
> y
 [1] -1.07976839  0.57909316  0.76848483  1.31997079  0.76564674  1.67086863
 [7]  0.05381471  1.30779954 -2.03273843 -0.13120774
> args(rnorm)
function (n, mean = 0, sd = 1) 
NULL

sample()函数用于抽样。参数'x'是总体,'size'设置需要抽取的数量,'replace'是否放回原处,'prob'设置每个元素抽到的概率。

> sample(1:10, 4)
[1] 7 9 6 4
> args(sample)
function (x, size, replace = FALSE, prob = NULL) 

上一节:R学习-4.Vectors
下一节:R学习-6.Subsetting Vectors

posted @ 2020-06-15 15:27  何物昂  阅读(371)  评论(0编辑  收藏  举报