查找 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
广告