列出列中的NA的名称

时间:2016-04-12 10:43:31

标签: r dataframe

我有一个名为df的数据框,我在这个df中有10个变量。

df包含与其国内生产总值,失业水平相关的国家/地区列表,以及它们是否已被殖民化为(真实)等。

对于每个变量gdp,unmp level和colonized,我知道有很多NA。

是否有命令可以列出他们拥有NA的国家/地区的名称。例如:如果英国的gdp为NA,但是已经失去殖民地,而且法国有gdp,那么就是NA,那就是殖民地的NA。

是否有一个命令会带来英国和法国的名单,因为他们有NAs?

我的数据:

destination                 origin sum gdp.diff unemployment.diff
1     Albania             Azerbaijan   2       27          8.467610
2     Albania                  Congo   1      -21                NA
3     Albania Dem. Rep. of the Congo   1      -80         13.437610
4     Albania                Eritrea  21      -66                NA
5     Albania Iran (Islamic Rep. of) 279        5          2.997610
6     Albania                   Mali   1      -68          6.137609

所以我需要阿尔巴尼亚出现在列表中,因为它有一个NA for unemp.diff

1 个答案:

答案 0 :(得分:0)

使用complete.cases:

#dummy data
df <- data.frame(country = letters[1:3],
                 gdp = c(1,NA,2),
                 unemployment = c(1,2,3),
                 colonised = c(T,F,NA))
df
#   country gdp unemployment colonised
# 1       a   1            1      TRUE
# 2       b  NA            2     FALSE
# 3       c   2            3        NA

df[ !complete.cases(df), ]
#   country gdp unemployment colonised
# 2       b  NA            2     FALSE
# 3       c   2            3        NA

# check for NAs on one column
df[ is.na(df$gdp), ]
#   country gdp unemployment colonised
# 2       b  NA            2     FALSE