假设我有一个具有多个分类功能的数据框。如何使用for循环计算频率分布表而不是查找单个分布
我使用了以下代码:
data
a b c
1 class 1 1 M
2 class 2 0 F
3 class 3 0 M
4 class 1 1 F
5 class 1 1 F
6 class 2 1 M
7 class 1 0 F
8 class 1 0 F
9 class 2 1 M
10 class 2 1 M
11 class 3 1 F
12 class 3 0 F
>b<-data$b
>b.freq<-table(b)
>b.freq
0 1
5 7
我想对使用for循环的较大集合中的所有变量执行此操作。
请帮忙
感谢
答案 0 :(得分:2)
如果您要将table
功能应用于所有列,可以使用lapply
:
> lapply(data, table)
$a
class 1 class 2 class 3
5 4 3
$b
0 1
5 7
$c
F M
7 5
更新:如何创建绘图:
par(mfrow = c(1, length(data)));
lapply(data, function(x) barplot(table(x)))