检查数据框行中的至少一个值是否大于给定的行特定阈值

斯特凡诺·伦巴第(Stefano Lombardi)

这是我正在处理的数据集的可重现的小示例:

set.seed(123)
dat <- as.data.frame( cbind(a=1+round(runif(5), 2), b=round(rnorm(5), 2), high_cutoff=round(1+rnorm(5), 1)) )

数据框为:

     a     b   high_cutoff
   1.29 -1.69         2.3
   1.79  1.24        -0.7
   1.41 -0.11         2.7
   1.88 -0.12         1.5
   1.94  0.18         3.5

我正在尝试按行检查是否在前两列中至少有一个值比在第三列中的对应阈值高(例如,如果两个值中的任何一个都高,我想存储1截止)。

在示例中,我期望找到的是:

   higher_than_cutoff         
0
1
0 
1
0

我一直在尝试使用以下(错误的)代码及其一些变体,但没有取得太大的成功:

higher_than_cutoff <- apply( dat[, c("a", "b")], 1, function(x) any(x > dat[, "high_cutoff"]) )

能否请您提供一些有关如何进行的建议?任何帮助都受到高度赞赏

大卫·阿伦堡

这是一个可能的矢量化解决方案(如果可以的话,TRUE/FALSE您可以+一开始就删除它

+(rowSums(dat[-3L] > dat[, 3L]) > 0)
## [1] 0 1 0 1 0

如果坚持apply,可以做类似的事情

apply(dat, 1, function(x) +(any(x[-3] > x[3])))
## [1] 0 1 0 1 0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果至少一个值低于阈值,则选择给定2列的行

熊猫:检查重复项行中的至少一个值是否为1

Pandas 数据框检查一个值是否存在于一行的多列中

根据下一个值是否达到阈值在数据框中创建组

给定一个熊猫数据框,如何检查和计数行字符串是否在嵌套列表的行内?

检查矩阵中的所有值是否大于另一个矩阵中的匹配行

将数据框中的行折叠为一个特定行以填充缺失值?

检查字典中是否至少包含一个特定值

排除数据框中具有至少一个零值Ctrl或Mn命名列的行

如何检查不同的值是否大于 R 中的不同数据框行?

如何选择行中至少一个元素中包含特定值的行?

检查熊猫系列是否具有至少一个大于值的项目

删除包含列1中ID且在Python数据框中的另一个特定列2上至少具有一个特定值的所有行

检查一个数据框中的值是否在另一数据框中

筛选具有至少一个特定值的行

如果列中至少有一个特定值,则删除所有行

如何挑选在数据帧中的行与非缺失值的至少一个变量?

从另一个数据框的列中为数据框的每一行查找一个特定值

给定该组至少包含一个非NA值,请删除该组中具有NA的行

熊猫检查行是否存在于另一个数据框中并追加索引

检查一个数据框中的日期是否在另一数据框中的日期范围内,并在为true时返回行

查找并返回至少有一个np.inf值的Pandas数据框的行

如何检查至少一个变量是否具有特定值

检查输入的值是否与数据库中其行中的另一个相关联

检查至少一个列表是否包含特定元素

的PHP / MySQL的。是否有mysql函数来检测至少一个mysql行字段中是否存在至少2个特定单词

给定多个列作为键,用另一个数据框中的行替换一个数据框中的行

如何检查一个数据框中的可用列的值是否可用?

检查熊猫是否数据框中的一个值是NaN并将其替换为0