r - 删除具有正值的列?
问题描述
我有数据:
structure(c(1.44, 0.28, 1.7, 0.4, 0.03, -0.61, 0.33,
-0.84), .Dim = c(4L, 2L), .Dimnames = list(c("19",
"10", "20", "1"), c("A", "B")))
删除所有值为正的列。此处应删除 A。
解决方案
使用colSums
:
df[, colSums(df < 0) > 0, drop = FALSE]
# B
#19 0.03
#10 -0.61
#20 0.33
#1 -0.84
或使用apply
:
df[, apply(df < 0, 2, any), drop = FALSE]
如果将数据转换为数据框,还可以使用:
Filter(function(x) any(x < 0), as.data.frame(df))
或与dplyr
:
as.data.frame(df) %>% select_if(~any(. < 0))
推荐阅读
- r - 基于动态反应对象的图像和结果的 Markdown 报告问题
- python - Eu não consigo atualizar o pip
- angular - 如果数组为空,*ngIf 无法显示模板
- javascript - 如何为无效输入创建错误警报?
- python - 将带有链接的图片排列成一排流线型
- python - 删除数组列表的功能,不符合规范
- scheme - 传递布尔函数的正确方法
- azure - 在 Azure Cosmos DB 中通过 SQL 搜索嵌套的 JSON 对象
- reactjs - 使用 vis-timeline 模板时访问状态或道具的问题
- charts - 如何在chart-js中的两个刻度之间添加空格?