Return 列名作为列中的值

Return the column name as as a value in a column

我正在开发 classifier,我几乎停留在最后一步。我的输出图像如下。每行对应一个观察值,值决定目标class,最高值获胜。以下 Table 是我的中间输出示例。 我目前正在用 tidyverse 方言编写函数,到目前为止,我已经尝试了以下方法并收到了一个空列:

result <- result %>%
  rowwise() %>%
  transmute(class = colnames(max(c_across())))
return(result)

我对 colnames(max(c_across))) 的意图是找到具有最高值的列并将其名称分配给 class。

如果您愿意在管道中接受 Base R 解决方案,您可以使用

names <- result %>%
          apply(., 1, function(x) names(x)[which.max(x)])

然后将名称向量添加到接下来的 results 数据帧中。