如何删除包含 R 数据框中所有列的编码缺失值的行?

有时对缺失值进行编码,当我们在不替换这些缺失值的情况下进行分析时,分析结果变得有点难以解释,尤其是第一次阅读的读者很难理解。

因此,我们可能想要删除包含编码缺失值的行。为此,我们可以用 NA 替换编码的缺失值,然后用 NA 替换行,如下面给出的示例所示。

示例 1

以下代码段创建一个数据框,如果缺失值被编码为 1 -

x1<-rpois(20,1)

x2<-rpois(20,1)

df1<-data.frame(x1,x2)

df1

创建以下数据框 -

   x1 x2

1  1  0

2  1  2

3  1  3

4  1  1

5  0  1

6  0  1

7  1  0

8  0  1

9  2  1

10 1  2

11 0  3

12 1  0

13 1  2

14 2  2

15 0  0

16 2  3

17 1  1

18 2  0

19 0  0

20 1  1

要删除包含 R 数据框中所有列的编码缺失值的行,请将以下代码添加到上述代码段中 -

x1<-rpois(20,1)

x2<-rpois(20,1)

df1<-data.frame(x1,x2)

df1[df1==1]<-NA

df1

输出结果

如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -

   x1  x2

1  NA   0

2  NA   2

3  NA   3

4  NA  NA

5   0  NA

6   0  NA

7  NA   0

8   0  NA

9   2  NA

10 NA   2

11  0   3

12 NA   0

13 NA   2

14  2   2

15  0   0

16  2   3

17 NA  NA

18  2   0

19  0   0

20 NA  NA

要删除包含 R 数据框中所有列的编码缺失值的行,请将以下代码添加到上述代码段中 -

df1[rowSums(is.na(df1))<ncol(df1),]
输出结果

如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -

   x1   x2

1  NA   0

2  NA   2

3  NA   3

5   0  NA

6   0  NA

7  NA   0

8   0  NA

9   2  NA

10 NA   2

11  0   3

12 NA   0

13 NA   2

14  2   2

15  0   0

16  2   3

18  2   0

19  0   0

示例 2

以下代码段创建一个数据框,如果缺失值被编码为 99 -

y1<-sample(c(1,99),20,replace=TRUE)

y2<-sample(c(5,99),20,replace=TRUE)

df2<-data.frame(y1,y2)

df2

创建以下数据框 -

   y1  y2

1  99   5

2  99   5

3  99   5

4   1  99

5   1  99

6   1   5

7   1  99

8  99  99

9  99  99

10 99  99

11 99  99

12 99   5

13  1  99

14 99   5

15 99   5

16 99  99

17 99   5

18 99  99

19 99  99

20 99   5

要删除包含 R 数据框中所有列的编码缺失值的行,请将以下代码添加到上述代码段中 -

y1<-sample(c(1,99),20,replace=TRUE)

y2<-sample(c(5,99),20,replace=TRUE)

df2<-data.frame(y1,y2)

df2[df2==99]<-NA

df2

输出结果

如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -

   y1   y2

1  NA   5

2  NA   5

3  NA   5

4   1  NA

5   1  NA

6   1   5

7   1  NA

8  NA  NA

9  NA  NA

10 NA  NA

11 NA  NA

12 NA   5

13  1  NA

14 NA   5

15 NA   5

16 NA  NA

17 NA   5

18 NA  NA

19 NA  NA

20 NA   5

要删除包含 R 数据框中所有列的编码缺失值的行,请将以下代码添加到上述代码段中 -

df2[rowSums(is.na(df2))<ncol(df2),]
输出结果

如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -

    y1  y2

1  NA   5

2  NA   5

3  NA   5

4   1  NA

5   1  NA

6   1   5

7   1  NA

12 NA   5

13  1  NA

14 NA   5

15 NA   5

17 NA   5

20 NA   5

以上是 如何删除包含 R 数据框中所有列的编码缺失值的行? 的全部内容, 来源链接: utcz.com/z/345719.html

回到顶部