通过给定变量查找条件的第一个匹配项

熊蜂

我有资料

library(data.table); set.seed(42)
dat <- data.table(id=c(1,1,1,2,2,3,3,3,3,3,4,5,5,5,5), x=rnorm(15))
> dat
#    id           x
# 1:  1  1.37095845
# 2:  1 -0.56469817
# 3:  1  0.36312841
# 4:  2  0.63286260
# 5:  2  0.40426832
# 6:  3 -0.10612452
# 7:  3  1.51152200
# 8:  3 -0.09465904
# 9:  3  2.01842371
#10:  3 -0.06271410
#11:  4  1.30486965
#12:  5  2.28664539
#13:  5 -1.38886070
#14:  5 -0.27878877
#15:  5 -0.13332134

我想为每个获得id满足的某些条件的第一个值的索引x例如,对于条件x>0,这将给

> res
#[1]  1  4  7 11 12

我希望data.table可以使用它,因为它的效率一直令我惊讶,但是其他一些可以快速执行此操作的功能也可以工作。

阿克伦

我们可以指定中的条件i,按“ id”分组,使用获取第一个元素的索引.I,提取列($V1

dat[x >0, .I[1], id]$V1
#[1]  1  4  7 11 12

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在条件的第一个匹配项上执行查找的公式

NSPredicate仅查找第一个匹配项

在给定起始索引的数组中查找第一个匹配的对象

如何转换for循环以查找Java流中的第一个匹配项?

在Multiindex数据框中查找每个索引的第一个匹配项

使用Regex和Java查找第一个匹配项

在Pandas数据框中查找第一个匹配项

MySQL-查找第一个匹配项或通配符

告诉find函数查找第36行之后的第一个匹配项吗?

查找文件中第一个匹配项的快捷方式

分别在每个文件夹分支中查找第一个匹配项

查找第一个包含来自数组的匹配项

RegEx:基于第一个两个字符查找匹配项

在1和0的字符串中查找0的第一个匹配项

在Kotlin的嵌套列表中查找并返回第一个匹配项?

在列表列表中向后查找第一个匹配项

如何在多个文件中查找第一个匹配项

Bash脚本在URL之后查找字符串的第一个匹配项

在给定特定字符串组的情况下,如何查找任何字符串的第一个匹配项?

根据条件(Java / Guava)从列表中提取第一个匹配项?

SQL条件字段,第一个匹配项JOIN

MySQL仅获取3列之间的条件的第一个匹配项

选择数据框中带有前缀的变量的第一个匹配项

Windows批处理:获取变量列表中的第一个匹配项

如何使此选择查找另一个表并找到第一个匹配项?

在列表中查找第一个元素和索引匹配条件

在数组中查找与Swift中的特定条件匹配的第一个元素

在嵌套数组中查找匹配条件的第一个元素

查找数组的第一个重复项