r - 在 R 的列表中过滤 TRUE/FALSE 的函数
问题描述
我有两个清单:
test1
$`0`
[1] "Mean relative difference: 0.005401506 in referenceBasedPrice."
$`1`
[1] TRUE
和
> test2
$`0`
[1] "Mean relative difference: 0.005401506 in referenceBasedPrice."
$`1`
[1] "some text"
我只想保留那些不是TRUE
我写的列表元素:
> test1 = test1[-which(sapply(test1, isTRUE))]
> test1
$`0`
[1] "Mean relative difference: 0.005401506 in referenceBasedPrice."
但它似乎在第二个列表上无法正常工作,其中不包含任何 TRUE:
> test2 = test2[-which(sapply(test2, isTRUE))]
> test2
named list()
为什么它不适用于列表test2
?
解决方案
尝试这个:
#Data
test1 <- list(`0`="Mean relative difference: 0.005401506 in referenceBasedPrice.",
`1`=T)
#Code
lapply(test1, function(x) x[!isTRUE(x)])
或这个:
#Code 2
unlist(lapply(test1, function(x) x[!isTRUE(x)]))
请注意,您有列表而不是数据框。
推荐阅读
- amazon-redshift - Redshift 将一个值转换为 bigint 会舍入一个值
- oracle - 将日期差异转换为带有时间戳的日期
- api - Autotask Rest API 工单收费状态
- mongodb - 带有根的mongodb方面
- typescript - 如何将 Jest 与 vuex-module-decorators 一起使用
- python - pip install 无法正常工作——(错误:找不到满足 Flask 要求的版本(来自版本:无))
- javascript - 不使用 Intl.DateFormat 的 Javascript 日期格式
- c# - datagridview 和 sqlite 数据库的问题
- c++ - 隐式转换坚持使用私有函数
- php - PHP 8 - libxml_disable_entity_loader() 已被弃用。如何替换它提供的功能?