1

我必须table()在 R 中调用 10 个变量的函数。有什么方法可以一次性完成,而不像table(v1), table(v2)...那样单独调用它们table(v10)

4

1 回答 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 回答