r - 替换R中列表列表中的值
问题描述
我有一个包含列名的列表列表,并且正在尝试替换列的值。我的列表包含所有称为all_lists
看起来的列表:
[[1]]
preds ground_truth
19221 0.0566264 1
6587 0.0567813 0
3981 0.0569643 0
16956 0.0570841 1
2344 0.0570878 1
2855 0.0571354 1
[[2]]
preds ground_truth
17326 0.7525393 0
26342 0.7586699 1
15996 0.7703387 1
14033 0.7738193 0
3403 0.7838794 1
20626 0.8009424 1
16675 0.8294433 1
[[3]]
[1] preds ground_truth
<0 rows> (or 0-length row.names)
我试图让preds
0.5 及以上的列中的所有值都为 1,所有小于 0.5 的值都为 0。我的解决方案尝试是这样的:
for (lists in all_lists){
lists[preds] <- ifelse(lists[preds] > 0.5, 1, 0)
}
但是我收到以下错误:
Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, :
'data' must be of a vector type, was 'NULL'
有谁知道如何解决这一问题?谢谢
解决方案
您可以round
在以下列preds
中all_lists
:
all_lists <- lapply(all_lists, function(x) {
x$preds = round(x$preds)
#If your data can go above 1
#x$preds = as.integer(x$preds > 0.5)
x
})
推荐阅读
- reactjs - 在Visual Studio Code中更改React JS代码时如何使STS重新编译项目?
- mongodb - 使用 ref 值更新多个元素
- javascript - 用 span 一次性替换剩余的一组单词
- python - Django 渲染字典
- swagger - 如何在 swagger.yaml / openapi.yaml 文件中访问 AWS SAM 映射
- gradle - 配置“编译”已过时。替换为实现后给出错误
- javascript - Javascript中WAV文件的左声道提取/淡出
- c++ - c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe:最终链接失败:设备上没有剩余空间
- reactjs - 尝试设置图像大小但在 setState 上出现错误
- flutter - 导航到新页面时 BLOC 丢失上下文