R:创建 Table 因子水平

R: Creating a Table of Factor Levels

我正在使用 R 编程语言。假设我有以下数据:

var1 <- c("A1", "A2", "A3")
var2 <- c("B1", "B2" )

var_1_a <- as.factor(sample(var1, 100, replace=TRUE, prob=c(0.3, 0.3, 0.4)))

var_1_b <- as.factor(sample(var2, 100, replace=TRUE, prob=c(0.5, 0.5)))

my_data = data.frame(var_1_a, var_1_b)

head(my_data)

  var_1_a var_1_b
1      A2      B1
2      A2      B2
3      A1      B2
4      A2      B2
5      A2      B2
6      A3      B1

我正在尝试创建一个总结旧数据集的新数据集,如下所示:

new_data = data.frame(var_1_a = table(my_data$var_1_a ), var_2_a = table(my_data$var_1_b ) )

但这会导致以下错误:

Error in data.frame(var_1_a = table(my_data$var_1_a), var_2_a = table(my_data$var_1_b)) : 
  arguments imply differing number of rows: 3, 2

有人可以告诉我我做错了什么吗?

谢谢!

尝试创建一个列表而不是数据框,这将允许不同的行数。

new_data = list(var_1_a = data.frame(table(my_data$var_1_a )), var_2_a = data.frame(table(my_data$var_1_b)))