如何在R数据帧中找到因子列的频率表?

如果我们在R数据帧中有因子列,那么我们要查找所有因子列的每个因子水平的频率。这可以通过带有表函数的sapply函数来完成。例如,如果我们有一个名为df的数据帧,其中包含一些因子列,则可以使用command创建因子列的频率表sapply(df,table)。

例1

考虑以下数据帧-

> x1<-sample(LETTERS[1:4],20,replace=TRUE)

> x2<-sample(letters[1:4],20,replace=TRUE)

> df1<-data.frame(x1,x2)

> df1

输出结果
   x1 x2

1  D  a

2  D  b

3  D  c

4  D  b

5  D  c

6  C  a

7  C  a

8  B  a

9  A  a

10 C  c

11 D  a

12 D  b

13 D  b

14 A  c

15 C  b

16 D  a

17 A  b

18 A  b

19 B  c

20 C  b

在df1中查找因子列的频率表-

> sapply(df1,table)

$x1

输出结果
A B C D

4 2 5 9

示例

$x2
输出结果
a b c

7 8 5

例2

> y1<-sample(c("India","Russia","UK"),20,replace=TRUE)

> y2<-sample(c("Male","Female"),20,replace=TRUE)

> df2<-data.frame(y1,y2)

> df2

输出结果
    y1      y2

1  India    Male

2  UK     Female

3  Russia   Male

4  India  Female

5  India  Female

6  India    Male

7  UK     Female

8  Russia   Male

9  UK       Male

10 India    Male

11 Russia   Male

12 UK       Male

13 UK     Female

14 India  Female

15 India  Female

16 Russia Female

17 Russia Female

18 Russia Female

19 India  Female

20 India  Female

在df2中查找因子列的频率表-

> sapply(df2,table)

$y1

输出结果
India Russia UK

  9     6    5

示例

$y2
输出结果
Female Male

  12    8

以上是 如何在R数据帧中找到因子列的频率表? 的全部内容, 来源链接: utcz.com/z/333674.html

回到顶部