[R] Filtering Cases with != NA

Sarah Goslee sarah.goslee at gmail.com
Thu Dec 17 16:34:16 CET 2015


You need the is.na() function:

> dataset <- data.frame(No = 1:4, Name = c("Smith", "Mayor", "Miller", "Baltic"), Turnover = c(1500, 200, NA, 750))
> dataset
  No   Name Turnover
1  1  Smith     1500
2  2  Mayor      200
3  3 Miller       NA
4  4 Baltic      750

[1]  TRUE  TRUE FALSE  TRUE
> dataset[complete.cases(dataset), ]
  No   Name Turnover
1  1  Smith     1500
2  2  Mayor      200
4  4 Baltic      750

> dataset[!is.na(dataset$Turnover), ]
  No   Name Turnover
1  1  Smith     1500
2  2  Mayor      200
4  4 Baltic      750

> subset(dataset, !is.na(Turnover))
  No   Name Turnover
1  1  Smith     1500
2  2  Mayor      200
4  4 Baltic      750



On Thu, Dec 17, 2015 at 7:50 AM,  <G.Maubach at weinwolf.de> wrote:
> Dear All,
>
> I am new to "R" and search for a solution to exclude cases if a certain
> variable contains NA for a case.
>
> Example
>
> No Name Turnover
> 1 Smith 1500
> 2 Mayor 200
> 3 Miller
> 4 Batic 750
>
> I would like to create a subset excluding case 3 Miller NA.
>
> I tried to following:
>
> new_dataset <- subset(dataset, subset = Turnover != NA)
>
> This does not work. The new_dataset contains all variables but not cases
> are left. R responds "Variables with all observations missing".
>
> How could I do it right?
>
> Kind regards
>
> Georg
>



More information about the R-help mailing list