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