一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - R語言 - R語言中na.fail和na.omit的用法

R語言中na.fail和na.omit的用法

2022-01-11 15:18SThranduil R語言

這篇文章主要介紹了R語言中na.fail和na.omit的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

實際工作中,數據集很少是完整的,許多情況下樣本中都會包括若干缺失值NA,這在進行數據分析和挖掘時比較麻煩。

R語言通過na.fail和na.omit可以很好地處理樣本中的缺失值

1、na.fail(<向量a>): 如果向量a內包括至少1個NA,則返回錯誤;如果不包括任何NA,則返回原有向量a

2、na.omit(<向量a>): 返回刪除NA后的向量a

3、attr( na.omit(<向量a>) ,”na.action”): 返回向量a中元素為NA的下標

4、is.na:判斷向量內的元素是否為NA

example:

?
1
2
3
4
5
6
7
8
9
10
11
12
data<-c(1,2,NA,2,4,2,10,NA,9)
data.na.omit<-na.omit(data)
data.na.omit
    [1]  1  2  2  4  2  10  9
    attr(,"na.action")
    [1] 3 8
    attr(,"class")
    [1] "omit"
attr(data.na.omit,"na.action")
    [1] 3 8
    attr(,"class")
    [1] "omit"

另外還可以使用!x方式方便地刪除NA。

例如:

?
1
2
3
a<-c(1,2,3,NA,NA,2,NA,5)
a[!is.na(a)]
    [1] 1 2 3 2 5

其中,is.na用于判斷向量內的元素是否為NA,返回結果:c(FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE),即a內元素為NA,其對應的下標元素是TRUE,反之是FALSE。

!x是取非邏輯運算符,!is.na(a)表示a內元素不為NA,其對應的下標元素是TRUE,反之是FALSE。

通過a[!is.na(a)]進行索引后,即可取出a內不為NA的元素,將其過濾。

其中,函數na.fail和 na.omit 不僅可以應用于向量,也可以應用于矩陣和數據框。

example:

?
1
2
3
4
5
6
7
8
9
10
11
12
data <- read.table(text="
a b c d e f
NA 1 1 1 1 1
1 NA 1 1 1 1
1 1 NA 1 1 1
1 1 1 NA 1 1
1 1 1 1 NA 1
1 1 1 1 1 NA",header=T)
na.omit(data)
data
>[1] a b c d e f
<0 行> (或0-長度的row.names)

補充:R語言移除缺失值 NA.RM

看代碼~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
> a <- 2:12
> b <- seq(2,23,2)
> c <- c(1:11)^3
> d <- c(5:8, 30:36)
 
> df <- data.frame(a,b,c,d)
> df$a[df$a==8] <- NA
> df$b[df$b==8] <- NA
> df$c[df$c==8] <- NA
> df$d[df$d==8] <- NA
> df$d[df$d==32] <- NA
 
 
> df
    a  b    c  d
1   2  2    1  5
2   3  4   NA  6
3   4  6   27  7
4   5 NA   64 NA
5   6 10  125 30
6   7 12  216 31
7  NA 14  343 NA
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
 
// 只根據第四列,也就是d 的 NA,移除相應的行
> bad.d <- is.na(df$d)
> bad.d
 [1] FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
> df[!bad.d,]
    a  b    c  d
1   2  2    1  5
2   3  4   NA  6
3   4  6   27  7
5   6 10  125 30
6   7 12  216 31
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
 
// 根據第二列和第三列的NA 移除相應的行
> df[complete.cases(df[,2:3]),]
    a  b    c  d
1   2  2    1  5
3   4  6   27  7
5   6 10  125 30
6   7 12  216 31
7  NA 14  343 NA
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
 
// 根據第二列和 第四列的NA,移除相應的行
> df[complete.cases(df[,c(2,4)]),]
    a  b    c  d
1   2  2    1  5
2   3  4   NA  6
3   4  6   27  7
5   6 10  125 30
6   7 12  216 31
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
 
// 根據所有列的NA,移除相應的行
> df[complete.cases(df),]
    a  b    c  d
1   2  2    1  5
3   4  6   27  7
5   6 10  125 30
6   7 12  216 31
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
>
// 這個效果跟上面的df[complete.cases(df),] 相同
> na.omit(df)
    a  b    c  d
1   2  2    1  5
3   4  6   27  7
5   6 10  125 30
6   7 12  216 31
8   9 16  512 33
9  10 18  729 34
10 11 20 1000 35
11 12 22 1331 36
 
// 計算某一列的平均值, 移除NA值
> mean(df$d, na.rm=TRUE)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/SThranduil/article/details/71710283

延伸 · 閱讀

精彩推薦
  • R語言R語言實現支持向量機SVM應用案例

    R語言實現支持向量機SVM應用案例

    本文主要介紹了R語言實現支持向量機SVM應用案例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    一天_pika5222022-01-18
  • R語言R語言中qplot()函數的用法說明

    R語言中qplot()函數的用法說明

    這篇文章主要介紹了R語言中qplot()函數的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    Jack_丁明12752022-01-05
  • R語言R語言中的vector(向量),array(數組)使用總結

    R語言中的vector(向量),array(數組)使用總結

    這篇文章主要介紹了R語言中的vector(向量),array(數組)使用總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要...

    A葉子葉來5772021-11-14
  • R語言R語言讀取xls與xlsx格式文件過程

    R語言讀取xls與xlsx格式文件過程

    這篇文章主要為大家介紹了使用R語言讀取xls與xlsx格式文件的過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪...

    Kanny廣小隸11982022-01-20
  • R語言R語言gsub替換字符工具的具體使用

    R語言gsub替換字符工具的具體使用

    這篇文章主要介紹了R語言gsub替換字符工具的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    lztttao10372021-12-24
  • R語言R語言常量知識點總結

    R語言常量知識點總結

    在本篇文章里小編給大家整理了一篇關于R語言常量知識點總結內容,有興趣的朋友們可以學習分享下。...

    R語言教程網12102021-12-29
  • R語言基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    這篇文章主要介紹了基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    truffle52815052022-01-05
  • R語言如何用R語言繪制散點圖

    如何用R語言繪制散點圖

    這篇文章主要介紹了如何用R語言繪制散點圖,幫助大家更好的理解和學習使用R語言,感興趣的朋友可以了解下...

    菜鳥教程13002021-12-23
主站蜘蛛池模板: 欧美贵妇vs高跟办公室 | 明星ai智能人脸替换造梦在线播放 | 胸奶好大好紧好湿好爽 | kk4444了欧美| 白丝萝莉喷水 | 明星ai智能人脸替换造梦在线播放 | 羞羞视频免费观 | 亚洲国产精品网站久久 | 成人在线免费播放 | 丝袜兔女郎被啪在线观看91 | 国产亚洲精品网站 | 太大了轻点阿受不了小说h 四色6677最新永久网站 | girlfriend动漫在线播放 | 18美女光胸光屁屁洗澡 | 青青操在线播放 | 国产欧美久久久精品影院 | 果冻传媒九一制片厂网站 | 韩国三级在线高速影院 | 亚拍一区 | 天堂在线中文字幕 | 国产综合社区 | 美女脱得一二净无内裤全身的照片 | 含羞草传媒网站免费进入欢迎 | 99热久久这里只精品国产www | 欧美va在线播放免费观看 | 99成人国产精品视频 | 午夜伦理电影在线观免费 | 青草久久伊人 | 男人都懂www深夜免费网站 | 97大香伊在人人线色 | 亚洲精品欧洲久久婷婷99 | 四虎永久在线精品国产 | 亚州精品永久观看视频 | 免费抽搐一进一出印度 | 国产亚洲玖玖玖在线观看 | 涩涩屋在线播放 | 午夜欧美精品久久久久久久久 | 2022日韩理论片在线观看 | 火影小南被爆羞羞网站 | 热99这里有精品综合久久 | 久久受www免费人成_看片中文 |