r - 检索带有标签/级别的因子作为具有最大值的 colname。水平下降问题
问题描述
我刚刚得到了一个多项逻辑模型的预测,它从我的数据中给出了我的类(列)的概率。
我得到了这样的东西。
问题是我创建了一个函数来检索具有最大值的列的名称,将其存储在一个向量中,并使用与我的列同名的标签对其进行分解。但是,因为我没有获得任何值作为第五列,所以它不起作用。
max_name_col <- function(df, vec =c(1:5)) {
etiq = colnames(df[,vec])
return (factor((colnames(df[,vec])[apply(df[,vec],1,which.max)]), labels=etiq))
}
如果我不使用它并尝试自行分解它,级别会发生变化,并且由于我丢失了第三列(每个概率都非常低),所以我无法将它与原始类进行比较。(因为我的第 4 课确实是原始数据中的第 5 课)。
我怎么能改变我的函数,让它工作,鄙视我的列中没有“下降”的max_value?
解决方案
好的,我解决了。只需添加级别,使其与列的名称一致。
max_name_col <- function(df, vec =c(1:5)) {
etiq = colnames(df[,vec])
return (factor((colnames(df[,vec])[apply(df[,vec],1,which.max)]), levels=etiq, labels=etiq))
}
推荐阅读
- amazon-web-services - 从 AWS 上的 Go EC2 环境流式传输标准输出日志
- javascript - 如何在反应中使用赋值或函数获取数据
- javascript - Symfony,谷歌分析:ga 未定义
- node.js - 注销后在登录时记录旧用户数据以使用 JWT 做出反应
- reactjs - 当我使用 window.innerWidth 在类名之间切换时,如何在调整大小时使反应应用程序响应?
- python - pandas read_csv 在 Mac OS 上通过 cron 运行时不起作用
- android - 在 Flutter 应用程序中使用 android.hardware.usb
- tensorflow - Tensor2tensor:我的自定义问题从未注册过注册表问题
- c# - 如何在单个应用程序中处理多个域?ASP.net core 3.0(剃须刀页面,天蓝色)
- javascript - 在firebase中注册之前检查电子邮件是否是真实的