列出与 R 中的另一个分类变量相对应的分类变量的级别

List levels of a categorical variable corresponding to another categorical variable in R

我有一个包含两个分类变量的数据集,namepositionname的每一层都对应着position的一层,而position的每一层都对应着多层的name.

data <- data.frame(
  name = factor(rep(1:8, each=2)),
  position = rep(c("A", "B", "C", "D", "B", "D", "A", "C"), each=2)
)
table(data$name, data$position)

Table 输出为:

    A B C D
  1 2 0 0 0
  2 0 2 0 0
  3 0 0 2 0
  4 0 0 0 2
  5 0 2 0 0
  6 0 0 0 2
  7 2 0 0 0
  8 0 0 2 0

我想要 return 列表或 table position 级别对应于每个 name 级别(我对格式不挑剔).对于上面的示例,所需的输出可能如下所示:

  1   2   3   4   5   6   7   8 
"A" "B" "C" "D" "B" "D" "A" "C" 

在此示例中,您可以通过获取 position 的所有偶数或奇数值来缩短它,但这不是我的数据框的选项,因为 name 每个级别的案例数各不相同。

在此先感谢您帮助 R 新手。我想有一个简单的函数可以做到这一点,但我不知道它的名字来搜索它。

colnames(a<-table(data))[max.col(a)]
[1] "A" "B" "C" "D" "B" "D" "A" "C"