查找 R 数据框列中缺失的数字。


为了查找 R 数据框列中序列中缺失的数字,我们可以使用 `setdiff` 函数。

例如,如果我们有一个名为 `df` 的数据框,它包含一个名为 `X` 的列,并且我们想要检查 1 到 20 之间哪些值在此列中缺失,那么我们可以使用以下命令:

setdiff(1:20,df$X)

示例 1

以下代码片段创建了一个示例数据框:

x<-rpois(20,5)
df1<-data.frame(x)
df1

创建了以下数据框

   x
1  4
2  4
3  5
4  5
5  6
6  6
7  7
8  7
9  5
10 7
11 4
12 5
13 5
14 4
15 4
16 7
17 7
18 1
19 7
20 5

要在上面创建的数据框中查找 `x` 中 1 到 10 之间的缺失数字,请将以下代码添加到上述代码片段中:

x<-rpois(20,5)
df1<-data.frame(x)
setdiff(1:10,df1$x)

输出

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

[1] 2 3 8 9 10

示例 2

以下代码片段创建了一个示例数据框:

y<-c(1:3,5:10,21:30,35)
df2<-data.frame(y)
df2

创建了以下数据框

   y
1  1
2  2
3  3
4  5
5  6
6  7
7  8
8  9
9  10
10 21
11 22
12 23
13 24
14 25
15 26
16 27
17 28
18 29
19 30
20 35

要在上面创建的数据框中查找 `y` 中 1 到 35 之间的缺失数字,请将以下代码添加到上述代码片段中:

y<-c(1:3,5:10,21:30,35)
df2<-data.frame(y)
setdiff(1:35,df2$y)

输出

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

[1] 4 11 12 13 14 15 16 17 18 19 20 31 32 33 34

示例 3

以下代码片段创建了一个示例数据框:

z<-sample(1:100,20)
df3<-data.frame(z)
df3

创建了以下数据框

   z
1  84
2  7
3  40
4  87
5  9
6  51
7  3
8  97
9  78
10 69
11 26
12 4
13 61
14 99
15 91
16 81
17 48
18 47
19 80
20 22

要在上面创建的数据框中查找 `z` 中 1 到 100 之间的缺失数字,请将以下代码添加到上述代码片段中:

z<-sample(1:100,20)
df3<-data.frame(z)
setdiff(1:100,df3$z)

输出

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

[1]  1 2 5 6 8 10 11 12 13 14 15 16 17 18 19 20 21 23 24
[20] 25 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45
[39] 46 49 50 52 53 54 55 56 57 58 59 60 62 63 64 65 66 67 68
[58] 70 71 72 73 74 75 76 77 79 82 83 85 86 88 89 90 92 93 94
[77] 95 96 98 100

更新于:2021年11月3日

866 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告