我想设置table()
的输出样式。假设我有以下内容:
dat$a <- c(1,2,3,4,4,3,4,2,2,2)
dat$b <- c(1,2,3,4,1,2,4,3,2,2)
table(dat$a,dat$b)
1 2 3 4
1 50 0 0 0
2 0 150 50 0
3 0 50 50 0
4 50 0 0 100
这有两个问题。首先,它没有给我正确的频率。此外,它没有行标签或列标签。我找到了this,该表适用于频率计数和轴标签。是否存在问题,因为这种方式来自数据框的子集?我很感激有关修复频率计数和添加样式的任何提示。
答案 0 :(得分:4)
唯一的问题是您向table
输入参数的方式。要获得所需的输出(带标签),请使用数据框作为参数,而不是2个向量(列)。如果您有更大的数据框,请仅使用您想要的子集。
a <- c(1,2,3,4,4,3,4,2,2,2)
b <- c(1,2,3,4,1,2,4,3,2,2)
dat <- data.frame(a,b)
table(dat)
给我输出:
b
a 1 2 3 4
1 1 0 0 0
2 0 3 1 0
3 0 1 1 0
4 1 0 0 2
即使你的方法,它也不应该给出错误的频率。您可以尝试重新启动R会话以进行检查。