最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深入探究R語(yǔ)言中的 NA,NaN,NULL,Inf

2023-08-18 12:52 作者:五柳冰冰  | 我要投稿

將以下內(nèi)容復(fù)制到Rmarkdown中編譯!


# NA

## NA不是空值,而是一個(gè)邏輯值
```{r}
?"NA"
```

結(jié)果如下:

NA is a logical constant of length 1 which contains a missing value indicator. NA can be coerced to any other vector type except raw. There are also constants NA_integer_, NA_real_, NA_complex_ and NA_character_ of the other atomic vector types which support missing values: all of these are reserved words in the R language.

NA是長(zhǎng)度為1的邏輯常數(shù),它包含一個(gè)缺失的值指示符。NA可以被強(qiáng)制為除原始以外的任何其他向量類型。其他原子向量類型的常量NA_integer_、NA_real_、NA_complex_和NA_character_也支持缺失值:所有這些都是R語(yǔ)言中的保留字。

## NA既不是TRUE,也不是FALSE

```{r}
isTRUE(NA)
isFALSE(NA)
```

## NA是邏輯值,但不辨真假,而是介于真和假之間!

```{r}
c(TRUE, FALSE) & NA
c(TRUE, FALSE) | NA
```

TRUE & NA 的結(jié)果為 NA(而不是FALSE),是因?yàn)镹A的意思是“不能確定真假”,即有可能真也有可能假,介于真和假之間。因此TRUE 與 NA的邏輯和(即TRUE & NA)返回NA;而FALSE 與 NA的邏輯和(即FALSE & NA) 則返回FALSE。邏輯或的情形也是類似的。

## NA有親屬NA_integer_、NA_real_、NA_complex_和NA_character_

## 判斷NA的方法 is.na,!is.na

```{r}
is.na(c(1,NA,3,NA))
```

```{r}
!is.na(c(1,NA,3,NA))
```

## NA是NA,"NA"不是NA

```{r}
is.na(c("NA",NA))
```


## NA具有傳染性

```{r}
sum(c(1,NA,3))
```
```{r}
mean(c(1,NA,3))
```

```{r}
sum(c(1,NA,3),na.rm = T)
mean(c(1,NA,3),na.rm = T)
```

## 什么情況下會(huì)得到NA

### 導(dǎo)入的Excel等數(shù)據(jù)中有空白單元格

### 觀測(cè)值中有缺失值

### 轉(zhuǎn)換數(shù)據(jù)是默認(rèn)使用NA填充了缺失值

## 處理NA

### 簡(jiǎn)單粗暴刪除 na.omit

```{r}
tibble(x=c(NA,1,3),y=c(2,NA,3)) %>% na.omit()
```

### 精細(xì)刪除 drop_na

```{r}
df <- tibble(x=c(NA,1,3),y=c(2,NA,3))
drop_na(df,x)
```

### 固定值替換

```{r}
df <- tibble(x=c(NA,1,3),y=c(2,NA,3))

df[is.na(df)] <- 100

df
```

```{r}
replace_na(df$x,500)
```

```{r}
df <- tibble(x=c(NA,1,3),y=c(2,NA,3))
fill(df,x,.direction = "up")
```

### 均值填補(bǔ)法

這種方法主要用于連續(xù)資料的缺失,把缺失值用該變量的均值來填補(bǔ)。

```{r}
a1 <- c(1,NA,NA,NA,2)
a1[is.na(a1)] <- mean(a1,na.rm=T)
a1
```

### 中位數(shù)填補(bǔ)

### 眾數(shù)填補(bǔ)


### 上一個(gè)觀測(cè)值填補(bǔ) zoo::na.locf

```{r}
zoo::na.locf(c(1,NA,NA,NA,2))
```


### 線性填補(bǔ)BOCF

### 最差值填補(bǔ)WOCF

### 虛擬變量法

當(dāng)分類自變量出現(xiàn)NA時(shí),把缺失值單獨(dú)作為新的一類。

### 回歸填補(bǔ)法

假定有X和Y兩個(gè)變量,要填補(bǔ)Y的缺失值,我們可以把Y作為因變量,建立Y對(duì)X的回歸方程,然后根據(jù)X的非缺失值,預(yù)測(cè)Y的缺失值。

### K-近鄰算法填補(bǔ)

### 隨機(jī)森林填補(bǔ)缺失值

### 多重插補(bǔ)法

### Hmisc包 示例

```{r}
library(Hmisc)
df <- tibble(x=c(NA,1,3,4),y=c(2,NA,3,4))
df$x <- impute(df$x,median)
```

### mice包 示例

```{r}
library(mice)
df <- tibble(x=c(NA,1,3,4),y=c(2,5,3,4))
df %>% mice() %>% complete()
```




# NaN

```{r}
0 / 0 %>% is.nan()
sqrt(-1) %>% is.nan()
as.complex(2i) %>% is.nan()
```


# NULL

空? 什么都沒有

```{r}
a <- c();a
is.na(a)
is.null(a)
```

```{r}
a & T
a | T

is.null(a & T)
is.na(a & T)

```

# Inf

無(wú)窮大
-Inf? 負(fù)無(wú)窮

```{r}
is.numeric(Inf)
is.integer(Inf)
Inf+100
Inf+(-Inf)
```

深入探究R語(yǔ)言中的 NA,NaN,NULL,Inf的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
特克斯县| 怀远县| 汕尾市| 河北区| 兴仁县| 云霄县| 奉节县| 左贡县| 通渭县| 汉沽区| 东乌珠穆沁旗| 陵水| 库尔勒市| 黄大仙区| 柳河县| 闽侯县| 海盐县| 郎溪县| 苍南县| 枣强县| 保亭| 玉环县| 壶关县| 司法| 靖远县| 萨嘎县| 普宁市| 高安市| 浑源县| 吉隆县| 东丽区| 建湖县| 景泰县| 敦化市| 长武县| 宜黄县| 昭苏县| 广德县| 潍坊市| 内丘县| 遂溪县|