查找R数据框中每一列的唯一值和缺失值的频率。


为了查找R数据框中每一列的唯一值和缺失值的频率,我们可以使用`apply`函数结合`table`函数,并将`useNA`参数设置为`always`。

例如,如果我们有一个名为`df`的数据框,那么我们可以使用以下命令查找`df`中每一列的唯一值和缺失值的频率:

apply(df,2,table,useNA="always")

示例1

以下代码片段创建了一个样本数据框:

x1<-sample(c(NA,1,2),20,replace=TRUE)
x2<-sample(c(NA,1,2),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1

创建了以下数据框

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

为了在上面创建的数据框`df1`中查找每一列的唯一值和缺失值的频率,请将以下代码添加到上述代码片段中:

x1<-sample(c(NA,1,2),20,replace=TRUE)
x2<-sample(c(NA,1,2),20,replace=TRUE)
df1<-data.frame(x1,x2)
apply(df1,2,table,useNA="always")

输出

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

   x1 x2
 1 10 8
 2  5 5
<NA 5 7

示例2

以下代码片段创建了一个样本数据框:

y1<-sample(c(NA,5,10),20,replace=TRUE)
y2<-sample(c(NA,5,10,20),20,replace=TRUE)
df2<-data.frame(y1,y2)
df2

创建了以下数据框

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

为了在上面创建的数据框`df2`中查找每一列的唯一值和缺失值的频率,请将以下代码添加到上述代码片段中:

y1<-sample(c(NA,5,10),20,replace=TRUE)
y2<-sample(c(NA,5,10,20),20,replace=TRUE)
df2<-data.frame(y1,y2)
apply(df2,2,table,useNA="always")

输出

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

$y1
5 10 <NA
7  6   7
$y2
5 10 20 <NA
4  8  2   6

示例3

以下代码片段创建了一个样本数据框:

z1<-sample(c(NA,25,45),20,replace=TRUE)
z2<-sample(c(NA,25,45),20,replace=TRUE)
df3<-data.frame(z1,z2)
df3

创建了以下数据框

   z1 z2
 1 45 NA
 2 NA NA
 3 25 25
 4 25 25
 5 NA NA
 6 25 NA
 7 NA 45
 8 25 NA
 9 25 25
10 NA 45
11 45 25
12 25 25
13 25 45
14 NA 25
15 45 NA
16 NA 45
17 25 45
18 25 NA
19 45 NA
20 NA 45

为了在上面创建的数据框`df3`中查找每一列的唯一值和缺失值的频率,请将以下代码添加到上述代码片段中:

z1<-sample(c(NA,25,45),20,replace=TRUE)
z2<-sample(c(NA,25,45),20,replace=TRUE)
df3<-data.frame(z1,z2)
apply(df3,2,table,useNA="always")

输出

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

    z1 z2
 25  9 6
 45  4 6
<NA  7 8

更新于:2021年11月10日

387 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告