r - 删除平均值小于某个值的行 - R
问题描述
我正在尝试删除平均值 < 1 的数据帧的所有行。我可以通过首先创建具有平均值的列,然后根据该列值进行删除来做到这一点,但是我正在寻找一种更简洁的方法来做到这一点无需编辑数据框本身。
前df:
一个 | 乙 | C | D | 乙 |
---|---|---|---|---|
X | 1 | 3 | 2 | 1 |
是的 | 0 | 1 | 0.5 | 1 |
z | 0 | 2 | 1 | 0 |
期望的结果:
一个 | 乙 | C | D | 乙 |
---|---|---|---|---|
X | 1 | 3 | 2 | 1 |
z | 0 | 2 | 1 | 0 |
解决方案
rowMeans
您可以使用并删除平均值小于 1 的行来计算每行 的平均值。
df[rowMeans(df[-1], na.rm = TRUE) > 1,]
# A B C D E
#1 x 1 3 2 1
使用dplyr
-
library(dplyr)
df %>% filter(rowMeans(select(., where(is.numeric))) > 1)
推荐阅读
- javascript - 当我们点击它时,如何访问我们通过标签发送的console.log中的prop?
- python - 如何在 Keras 中输入最后一层预训练网络作为张量以展平
- google-play - Play商店上的PWA2APK仍然显示网址
- java - 无法在回收站视图上接受浮点输入
- vue.js - 本机脚本等效于带有 vuejs 应用程序的 window.localStorage
- r - 如何在 R 中执行审查回归,每个/多个观察值有不同的限制?
- api - 在移动设备上从thingsboad 填充设备数据内容?
- r - 如何删除与某些列重复的行,并保留具有非重复列的特定值/字符的一行
- powershell - 从文件中删除新行
- click - 我是否正确使用鼠标功能?