我有一个如下所示的数据框:
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
Run Code Online (Sandbox Code Playgroud)
我想要写一个简短的功能或一个班轮将返回如该行中的所有值(在这种情况下的值的行的行名a和b)是所有小于该值1.1.仅在具有行名称的此数据框的最后一行中满足此条件1112.注意,解决方案必须概括,以便它可以在可能更多的列上运行,并且可以在具有更多行的数据帧上运行.
这是获得所需结果的通用矢量化方法:
rownames(d[rowSums(d < 1.1) == ncol(d),])
#[1] "1112"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |