r - 如何以 colSums 作为条件选择 R 中的列?
问题描述
我试图找到常见的问题,但任何一个都是这样的。
我正在尝试使用 colSums 过滤我的数据表。这意味着如果 colSums 给出了一定的数量(假设低于 5000),我想包含或排除这个特定的列,并且我想用循环重复此操作或将其应用于整个数据表。基本上这不应该那么难,但我不确定我做错了什么,也许有人可以从这里提供帮助。
下面是我的数据和我的代码的preperesation。我使用 dput 函数来表示数据。
我尝试了许多不同的代码,但没有一个有效。我认为这是最接近的,但是当我使用下面的代码行时,它给了我这种类型的警告消息:“错误:需要一个单边公式、函数或函数名称。”
我一直在使用 dplyr 包,但其他的应该是基本功能。
> dput(data999[1:2, ])
KER000_349094 = c(0.1806,
0.1806), KER000_349085 = c(0.1832, 0.1832), KER000_351771 = c(0.1858,
0.1858), KER000_60103549 = c(0.1034, 0.1034), KER000_391452 = c(0.0016,
0.0016), KER000_345696 = c(0.1718, 0.1718), KER000_342793 = c(0.189230769230769,
0.189230769230769), KER000_345615 = c(0.0165384615384615,
0.0165384615384615), KER000_344065 = c(0.0592307692307692,
0.0592307692307692), KER000_353687 = c(0.188076923076923,
0.188076923076923), KER000_340589 = c(2.44, 2.44), KER000_346489 = c(0,
0), KER000_348357 = c(0.16, 0.16), KER000_363845 = c(3.135,
3.135), KER000_60029018 = c(0.115, 0.115), KER000_341255 = c(0,
0)), row.names = 1:2, class = "data.frame")
jeejee = apply(data999, 2, function(x) select_if(colSums(x <= 5000)))
解决方案
复制我的评论,因为它似乎是答案。
data999[,colSums(data999)<=5000]
选择总和 <= 5000 的所有列。
推荐阅读
- python - 如何消除使用 pandas 和 matplotlib 运行脚本时出现的对角线?
- spring-boot - 如何通过代码在 Spring Cloud Gateway 中配置请求超时
- r - 如何统一栅格堆栈中非 NA 像元的数量?
- java - android刀柄中的依赖循环
- javascript - 幻灯片在 Shopify 叙事主题中自动播放空白然后结束
- flutter - 当数据的页面/索引很难知道时,何时以及如何为无限列表加载数据?
- postgresql - 如何仅从 Postgresql 中的查询表中过滤最大值?
- javascript - Vuetify - 将值从芯片拖放到输入不起作用
- reactjs - 使用 Rollup 捆绑 React Typescript 项目的问题
- python - Keras 模型和 TF Lite 转换器