• R语言 奇怪的NA


    
    > 1+NA
    [1] NA
    > NA==1
    [1] NA
    > c(NA,1:50)
     [1] NA  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
    [32] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
    > mean(c(NA,1:50))
    [1] NA
    > mean(c(NA,1:50),na.rm = T)
    [1] 25.5
    > z<-c(1:3,NA);z
    [1]  1  2  3 NA
    > ind<-is.na(z);ind
    [1] FALSE FALSE FALSE  TRUE
    > z[is.na(z)]<-0;z
    [1] 1 2 3 0
    > x<-c(0/1,0/0,1/0,NA)
    > x
    [1]   0 NaN Inf  NA
    > is.nan(x)  # 检测数据是否不确定
    [1] FALSE  TRUE FALSE FALSE
    > is.finite(x) #检测数据是否有限
    [1]  TRUE FALSE FALSE FALSE
    > is.infinite(x)  #检测数据是否无穷
    [1] FALSE FALSE  TRUE FALSE
    > #缺失数据并不是不确定的数据
    
    # 注意第一列
    > tb<-data.frame(id=1:4,bio=seq(2,9,by=2))
    > tb
      id bio
    1  1   2
    2  2   4
    3  3   6
    4  4   8
    > tb$bio[tb$id==3]<-NA
    > tb
      id bio
    1  1   2
    2  2   4
    3  3  NA
    4  4   8
    > tb1<-tb[tb$bio!="NA",]
    > tb1
       id bio
    1   1   2
    2   2   4
    NA NA  NA
    4   4   8
    > tb2<-tb[is.na(tb$bio),]
    > tb2
      id bio
    3  3  NA
    > tb3<-tb[!is.na(tb$bio),]
    > tb3
      id bio
    1  1   2
    2  2   4
    4  4   8
    > is.na(tb$bio)
    [1] FALSE FALSE  TRUE FALSE
    > data.frame(tb3)
      id bio
    1  1   2
    2  2   4
    4  4   8
    > str(tb3)
    'data.frame':	3 obs. of  2 variables:
     $ id : int  1 2 4
     $ bio: num  2 4 8
    
  • 相关阅读:
    10月27号
    10月23号
    10月26号
    10月30号
    10月28号
    10月29号
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/li-volleyball/p/5415293.html
Copyright © 2020-2023  润新知