这是一些数据:
dta <- data.frame(
id = 1:10,
code1 = as.factor(sample(c("male", "female"), 10, replace = TRUE)),
code2 = as.factor(sample(c("yes", "no", "maybe"), 10, replace = TRUE)),
code3 = as.factor(sample(c("yes", "no"), 10, replace = TRUE))
)
我想要一个格式良好的代码变量频率表。
codes <- c("code1", "code2", "code3")
例如,我们可以运行内置命令table
。
> sapply(dta[, codes], table)
$code1
female male
4 6
$code2
maybe no yes
5 2 3
$code3
no yes
4 6
所有信息都在这里,但是最好有一张桌子:
library(plyr)
ddply(dta, .(code1), summarize, n1 = length(code1))
code1 n1
1 female 4
2 male 6
而这三遍。可以是单独的数据框,也可以是一体的。
我们如何循环变量?或任何其他方法。