2016-09-18 64 views
-5

從這個例子:提取不完整的情況下,從數據集R中

## x 
    ## v1 v2 v3 
    ##1 90 55 NA 
    ##2 NA 45 8 
    ##3 85 NA 5 
    ##4 NA 33 7 
    ##5 55 30 4 
    ##6 60 20 3 
    ##7 75 15 2 
    ##8 80 23 6 
    # ici is where Incomplete case indicator 

    ici=(function (x) 
    return(is.na(x))) 

    ici(x) 
      v1 v2 v3 
    ## [1,] FALSE FALSE TRUE 
    ## [2,] TRUE FALSE FALSE 
    ## [3,] FALSE TRUE FALSE 
    ## [4,] TRUE FALSE FALSE 
    ## [5,] FALSE FALSE FALSE 
    ## [6,] FALSE FALSE FALSE 
    ## [7,] FALSE FALSE FALSE 
    ## [8,] FALSE FALSE FALSE 

    # Extracts incomplete cases from a data set 

    ic=(function (x, drop) 
    return(x[ici(x)]))(x, drop) 

    ic(x) 
    ## Error: could not find function "ic" 

從上次運行(錯誤:無法找到函數「IC」)爲什麼給我這個,我該如何解決這個broblem與功能ic

+0

但給我這個'假假假假真真真真的'但是我想提取包含NA – user5934339

+0

所有實例但我想解決我的功能問題我的意思是(ic) – user5934339

+0

[使用正確的R表示法來創建函數](http://www.statmethods.net/management/userfunctions.html)。現在的問題是:你想要「放下」做什麼?你爲什麼不想使用'complete.cases'? – Therkel

回答

3

我不太明白你的功能ic在做什麼,包括括號和drop位。

如果您想要完整的案例,最方便的方法是na.omit(x)x[complete.cases(x), ]。但既然你想要不完整的案例,我們需要x[!complete.cases(x), ]

我當然明白ici在做什麼。它只是is.na。如果我被要求從is.na開始,我將使用以下命令:

x[rowSums(is.na(x)) > 0L, ] 
相關問題