我必须table()
在 R 中调用 10 个变量的函数。有什么方法可以一次性完成,而不像table(v1)
, table(v2)
...那样单独调用它们table(v10)
?
问问题
1784 次
1 回答
5
如果您的变量在 data.frame 中排列为列,您可以使用lapply
:
df <- data.frame(aa = rpois(10, 4), bb = rpois(10, 3), c = rpois(10, 7))
tabList <- lapply(df, table)
然后你会得到一个包含各种表格的列表:
> tabList
$aa
1 3 4 5 6 7
2 3 2 1 1 1
$bb
1 2 3 4 5
1 2 4 1 2
$c
3 4 5 6 7 9 11 12
1 1 1 3 1 1 1 1
编辑:
对于跨多个 data.frames 的变量,您可以尝试将它们放入列表中,然后lapply
再次使用:
df2 <- df[sample(rownames(df), 15, replace = TRUE), ]
df3 <- df[sample(rownames(df), 20, replace = TRUE), ]
dfList <- list(df = df, df2 = df2, df3 = df3)
lapply(dfList, function(x) lapply(x, FUN = table))
于 2012-04-09T09:13:09.490 回答