R-在data.table中查找第一个非零元素的索引

夸大

我有以下形式的面板数据:

DT = data.table(Id=1:5, Time1=c(0,0,1,2,0), Time2=c(1,0,0,0,0), Time3=c(0,1,2,0,0), Time4=c(0,1,2,5,4))

Id  Time1 Time2 Time3 Time4
1   0     1     0     0
2   0     0     1     1
3   1     0     2     2
4   2     0     0     5
5   0     0     0     4

我想对每个不为0的ID进行首次提取。数据集很大,因此我一直在寻找data.table解决方案。

我尝试了使用which.min(which!= 0)的方法,但是可以解决。

输出应如下所示:

Id  Time1 Time2 Time3 Time4 Output
1   0     1     0     0     2
2   0     0     1     1     3
3   1     0     2     2     1
4   2     0     0     5     1
5   0     0     0     4     4

谢谢你的帮助。

丰富的雕刻

你可以做

DT[, Output := which.max(.SD != 0), by = Id][]
#    Id Time1 Time2 Time3 Time4 Output
# 1:  1     0     1     0     0      2
# 2:  2     0     0     1     1      3
# 3:  3     1     0     2     2      1
# 4:  4     2     0     0     5      1
# 5:  5     0     0     0     4      4

which.max查找第一次出现的最大值的索引。因此,当我们这样做时,.SD != 0它会发现的第一个出现TRUE

同样,我们也可以使用

DT[, Output := match(TRUE, .SD != 0), by = Id]
# or 
DT[, Output := which(.SD != 0)[1], by = Id]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R-在data.table中查找第一个非零元素的索引

来自分类Dev

返回r中的最后一个非零元素索引

来自分类Dev

R:按组逐列查找data.table中的第一个非NA观测值

来自分类Dev

在Simulink中查找二维数组中第一个非零元素的索引

来自分类Dev

在R(data.table)中查找具有记录的连续两周的第一个日期

来自分类Dev

在R(data.table)中查找具有记录的连续两周的第一个日期

来自分类Dev

在python中找到给定元素右边的第一个非零元素的索引

来自分类Dev

在data.frame列中查找第一个值[R]

来自分类Dev

在data.frame列中查找第一个值[R]

来自分类Dev

获取R中的稀疏矩阵的上三角非零元素

来自分类Dev

更改列中第一个非零元素上方的数组值

来自分类Dev

如何查找数组中最后一个非零元素的索引

来自分类Dev

如何使用R查找data.frame中唯一元素的坐标?

来自分类Dev

如何使用R查找data.frame中唯一元素的坐标?

来自分类Dev

Scala:从第一个非零元素中切出一个列表

来自分类Dev

为data.table(r)中的每个ID选择第一个唯一匹配

来自分类Dev

在R中查找唯一元素的索引

来自分类Dev

R Data.Table复制组的第一个值

来自分类Dev

从R中的数字中提取第一个非零数字

来自分类Dev

获取R中的第一个非零数字,类似于Mathematica

来自分类Dev

R-删除data.table中每个因子的第一个和最后一个字符

来自分类Dev

R:data.table,将组的第一个和最后一个值设置为NA

来自分类Dev

获取R中向量中重复值的第一个元素的索引

来自分类Dev

查找在R中重复N次的第一个元素

来自分类Dev

用数组中的下一个非零元素替换0

来自分类Dev

如何在R中将数据仅连接到具有{data.table}的第一个匹配行

来自分类Dev

从R中data.frame的唯一元素创建列

来自分类Dev

如何从R中的data.frame中提取唯一元素?

来自分类Dev

一种返回Perl中最后一个非零元素的索引的优雅方法?

Related 相关文章

  1. 1

    R-在data.table中查找第一个非零元素的索引

  2. 2

    返回r中的最后一个非零元素索引

  3. 3

    R:按组逐列查找data.table中的第一个非NA观测值

  4. 4

    在Simulink中查找二维数组中第一个非零元素的索引

  5. 5

    在R(data.table)中查找具有记录的连续两周的第一个日期

  6. 6

    在R(data.table)中查找具有记录的连续两周的第一个日期

  7. 7

    在python中找到给定元素右边的第一个非零元素的索引

  8. 8

    在data.frame列中查找第一个值[R]

  9. 9

    在data.frame列中查找第一个值[R]

  10. 10

    获取R中的稀疏矩阵的上三角非零元素

  11. 11

    更改列中第一个非零元素上方的数组值

  12. 12

    如何查找数组中最后一个非零元素的索引

  13. 13

    如何使用R查找data.frame中唯一元素的坐标?

  14. 14

    如何使用R查找data.frame中唯一元素的坐标?

  15. 15

    Scala:从第一个非零元素中切出一个列表

  16. 16

    为data.table(r)中的每个ID选择第一个唯一匹配

  17. 17

    在R中查找唯一元素的索引

  18. 18

    R Data.Table复制组的第一个值

  19. 19

    从R中的数字中提取第一个非零数字

  20. 20

    获取R中的第一个非零数字,类似于Mathematica

  21. 21

    R-删除data.table中每个因子的第一个和最后一个字符

  22. 22

    R:data.table,将组的第一个和最后一个值设置为NA

  23. 23

    获取R中向量中重复值的第一个元素的索引

  24. 24

    查找在R中重复N次的第一个元素

  25. 25

    用数组中的下一个非零元素替换0

  26. 26

    如何在R中将数据仅连接到具有{data.table}的第一个匹配行

  27. 27

    从R中data.frame的唯一元素创建列

  28. 28

    如何从R中的data.frame中提取唯一元素?

  29. 29

    一种返回Perl中最后一个非零元素的索引的优雅方法?

热门标签

归档