r - 提取行名称,基于一行中的所有元素都小于特定值

标签 r

我有一个如下所示的数据框:

a <- c(1.2,1.19,1.1,1.09,1.09)
b <- c(1.2, 1.18,1.12,1.11, 1.09)
d<- data.frame(a,b)
rownames(d) <- c('450','500','899','1004','1112')

        a    b
450  1.20 1.20
500  1.19 1.18
899  1.10 1.12
1004 1.09 1.11
1112 1.09 1.09

我想编写一个简短的函数或单行代码,它将返回该行中所有值所在行的行名(在本例中为 ab) 小于值1.1。此条件仅在此数据框的最后一行中满足,行名称为 1112。请注意,解决方案必须泛化,以便它可以对可能更多的列和具有更多行的数据帧进行操作。

最佳答案

这是获得所需结果的通用矢量化方法:

rownames(d[rowSums(d < 1.1) == ncol(d),])
#[1] "1112"

关于r - 提取行名称,基于一行中的所有元素都小于特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816951/

相关文章:

r - data.table 按组删除基于滞后值的行

string - 从具有重复结构的字符串中提取值

r - 在 R 中使用 fitdist 时出错 - 必须定义 dllogis 函数

r - 针织——! latex 错误 : File `figure/unnamed-chunk-1' not found

r - 流媒体命令失败!使用 Elastic Map Reduce/S3 和 R 时出错

r - 如果已经有一个同名的函数,则定义一个 S4 方法

r - 将向量转换为具有多列的数据框

r - 在 R 中将语言对象转换为字符串

r - data.table 中的 fwrite 将我的字符串列更改为整数,如何修复?

r - 同时对数据框的特定列进行子集化和操作