r - 从命名列表中选择一列
问题描述
我不确定我是否理解我正在使用的变量类型。这是二元分类器的结果:
> mod_binary$predictions %>% glimpse()
num [1:10000, 1:2] 0.989 0.904 0.99 0.989 0.989 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:2] "FALSE" "TRUE"
> mod_binary$predictions %>% head()
FALSE TRUE
[1,] 0.9894592 0.01054078
[2,] 0.9044349 0.09556509
[3,] 0.9898756 0.01012441
[4,] 0.9888804 0.01111959
[5,] 0.9890123 0.01098766
[6,] 0.9641537 0.03584634
这个变量类型叫什么?一个列表?有名的名单?命名向量?
我想检索 TRUE 预测的向量。试过:
> mod_binary$predictions$TRUE
Error: unexpected numeric constant in "mod_binary$predictions$TRUE"
> mod_binary$predictions[["TRUE"]]
Error in mod_binary$predictions[["TRUE"]] : subscript out of bounds
> mod_binary$predictions[[1]]
[1] 0.9894592
最后一个返回了一个观察结果,实际上是错误的。这是错误的预测(参见head()
上面的调用)
我怎样才能得到 TRUE 的预测概率向量?
解决方案
它看起来像是matrix
来自 中显示的属性glimpse
以及数据的打印格式,尤其是行名 ( [1,]
)。因此,它$
不适用于提取。
根据?Extract
对于原子向量、矩阵/数组和递归(类似列表,请参阅 is.recursive)对象,默认方法的工作方式略有不同。$ 仅对递归对象有效,并且仅在下面有关递归对象的部分中讨论。
mod_binary$predictions[, "TRUE"]
推荐阅读
- android - 使用他们的凭据以编程方式登录用户 - 最佳实践?
- angular - 使用已实现接口的函数会创建“不是函数”错误
- azure - 带有 VNET 创建错误的 Azure 容器实例
- android - onActivityResult() 从未调用过
- phoenix - Live View 应用程序在全新安装后不断重新加载
- rust - 如何转换选项中的内部值?
- react-native - 如何在 React Native 中更改 TextInput 光标位置?
- javascript - 从 router.js 异步调用 vuex 操作有多好?
- css - 按钮上的 chrome 中的粘滞悬停状态
- r - 带有 by 的 unique.data.table 的行为是否类似于带有 .keep_all = TRUE 的 dplyr::distinct?