R根据先前观察到的值创建列

k

我想创建一个新列,报告报告的col1值大于零,直到遇到新的col1值大于零为止(请参阅df2中的col2)。即col1中的零值被大于零的观测值所代替。

ID = c(1,1,1,1,1,1,1,1,2,2,2,2)
col1 = c(500,0,0,0,600,0,0,0,450,0,0,0)
df1 = data.frame(ID,col1)

ID = c(1,1,1,1,1,1,1,1,2,2,2,2)
col1 = c(500,0,0,0,600,0,0,0,450,0,0,0)
col2 = c(500,500,500,500,600,600,600,600,450,450,450,450)
df2 = data.frame(ID,col1,col2)

有什么办法吗?

阿克伦

我们可以使用data.tablezoo将'data.frame'转换为'data.table'(setDT(df1)),为新列'col2'分配'col1'的值,将'0'的元素更改为NA,然后使用na.locf替换NA元素以前的非NA元素按“ ID”分组。

library(zoo)
library(data.table)
setDT(df1)[, col2:=col1][col2==0, col2:= NA]
df1[,col2:= na.locf(col2) ,ID]
df1
#    ID col1 col2
# 1:  1  500  500
# 2:  1    0  500
# 3:  1    0  500
# 4:  1    0  500
# 5:  1  600  600
# 6:  1    0  600
# 7:  1    0  600
# 8:  1    0  600
# 9:  2  450  450
#10:  2    0  450
#11:  2    0  450
#12:  2    0  450

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一列的先前观察值创建新变量

来自分类Dev

如何对数据中的关系进行排序,以便先前观察到的值首先出现

来自分类Dev

根据其他两个列创建新列,但在两个列中均观察到平均值

来自分类Dev

R函数根据同一列中的先前值创建新列

来自分类Dev

熊猫-如果观察到另一列(col B)中的情况,则使用另一列(col A)的值创建一列(col C)

来自分类Dev

r:先前观察值的总和

来自分类Dev

创建一个可观察到的所有值

来自分类Dev

根据R中具有已修改名称的先前列的值创建多个新列

来自分类Dev

从数据框中的列中选择最后观察到的值

来自分类Dev

识别并为R中观察到的0/1值组合指定直观的(-ish)名称

来自分类Dev

根据先前的值创建序列

来自分类Dev

如何根据观察到的数据绘制数据帧?

来自分类Dev

gcc根据是否观察到地址来更改输出

来自分类Dev

如何根据数据框中的先前值创建列

来自分类Dev

根据先前列的结果在R中创建新列

来自分类Dev

RxJs从产生的承诺中创建可观察到的

来自分类Dev

从事件创建可观察到的错误

来自分类Dev

根据 R 中的滞后观察值创建变量

来自分类Dev

可观察到的循环推送值列表

来自分类Dev

可通过计时器观察到特定值

来自分类Dev

保持可观察到的错误并返回所有值

来自分类Dev

观察到的var值不正确

来自分类Dev

可通过计时器观察到特定值

来自分类Dev

RxJava:可观察到的发出重复值

来自分类Dev

观察到值时的 VBA 修改范围

来自分类常见问题

R,根据单独列中的值删除先前的行

来自分类Dev

R,根据单独列中的值删除先前的行

来自分类Dev

参考先前的项目-Rx或Rxx中是否有任何可观察到的扩展名?

来自分类Dev

从一列观察到几列序列

Related 相关文章

  1. 1

    根据另一列的先前观察值创建新变量

  2. 2

    如何对数据中的关系进行排序,以便先前观察到的值首先出现

  3. 3

    根据其他两个列创建新列,但在两个列中均观察到平均值

  4. 4

    R函数根据同一列中的先前值创建新列

  5. 5

    熊猫-如果观察到另一列(col B)中的情况,则使用另一列(col A)的值创建一列(col C)

  6. 6

    r:先前观察值的总和

  7. 7

    创建一个可观察到的所有值

  8. 8

    根据R中具有已修改名称的先前列的值创建多个新列

  9. 9

    从数据框中的列中选择最后观察到的值

  10. 10

    识别并为R中观察到的0/1值组合指定直观的(-ish)名称

  11. 11

    根据先前的值创建序列

  12. 12

    如何根据观察到的数据绘制数据帧?

  13. 13

    gcc根据是否观察到地址来更改输出

  14. 14

    如何根据数据框中的先前值创建列

  15. 15

    根据先前列的结果在R中创建新列

  16. 16

    RxJs从产生的承诺中创建可观察到的

  17. 17

    从事件创建可观察到的错误

  18. 18

    根据 R 中的滞后观察值创建变量

  19. 19

    可观察到的循环推送值列表

  20. 20

    可通过计时器观察到特定值

  21. 21

    保持可观察到的错误并返回所有值

  22. 22

    观察到的var值不正确

  23. 23

    可通过计时器观察到特定值

  24. 24

    RxJava:可观察到的发出重复值

  25. 25

    观察到值时的 VBA 修改范围

  26. 26

    R,根据单独列中的值删除先前的行

  27. 27

    R,根据单独列中的值删除先前的行

  28. 28

    参考先前的项目-Rx或Rxx中是否有任何可观察到的扩展名?

  29. 29

    从一列观察到几列序列

热门标签

归档