排除R

时间:2015-11-18 08:38:08

标签: r null na

我需要排除一列,我知道它只包含空值 我之前使用this topic作为示例,但我不确定如何排除列。

有几个不同的数据框,如下面的一个,但列数不同,每个人都想要除了最后一列中的NA之外的所有NA。

PIG_ID      WEIGHT HERD_YEAR_BIRTH BIRTH_MONTH PARITY_BLL_DAM SEX_CODE LIVE_BORN_LITTER LIVE_BORN_LITTER2 VALID_COLUMN
13513130           7.5      65433130215          09              2        Z                9                81         <NA>
654605132           7.0      5646846421          04              3        Z                4                16         <NA>
654068065           4.0      5530201049          <NA>              3        B               15               225         <NA>

如何使用complete.cases完成此操作?

预期输出为:

PIG_ID      WEIGHT HERD_YEAR_BIRTH BIRTH_MONTH PARITY_BLL_DAM SEX_CODE LIVE_BORN_LITTER LIVE_BORN_LITTER2 VALID_COLUMN
13513130           7.5      65433130215          09              2        Z                9                81         <NA>
654605132           7.0      5646846421          04              3        Z                4                16         <NA>

1 个答案:

答案 0 :(得分:2)

我们将complete.cases应用于没有'VALID_COLUMN'的数据集子集,并将其用作行索引。

df1[complete.cases(df1[setdiff(names(df1), 'VALID_COLUMN')]),]
#     PIG_ID WEIGHT HERD_YEAR_BIRTH BIRTH_MONTH PARITY_BLL_DAM SEX_CODE
#1  13513130    7.5     65433130215          09              2        Z
#2 654605132    7.0      5646846421          04              3        Z
#  LIVE_BORN_LITTER LIVE_BORN_LITTER2 VALID_COLUMN
#1                9                81         <NA>
#2                4                16         <NA>