R:使用另一个数据表的值更新数据表中的NA

卡马斯

有两个具有以下结构的数据表:

 DT1 <- data.table(ID=c("A","B","C"), P0=c(1,10,100), key="ID")
 DT2 <- data.table(ID=c("B","B","B","A","A","A","C","C","C"), t=rep(seq(0:2),3), P=c(NA,30,50,NA,4,6,NA,200,700)) 

在数据表中DT2,列中的所有NAP均应通过P0数据表中的值进行更新DT1

如果DT2IDlike排序DT1,问题可以这样解决:

 setorder(DT2,ID)
 idxr <- which(DT2[["t"]]==1)
 set(DT2, i=idxr, j="P", value=DT1[["P0"]])

但是,如何在不先排序的情况下将数据表“合并” DT2

阿克伦

我们可以将两个数据集on“ ID”连接起来,对于“ P”中的NA值,我们将“ P”分配为“ P0”,然后通过将其分配给“ NULL”来删除“ P0”。

library(data.table)#v1.9.6+
DT2[DT1, on='ID'][is.na(P), P:= P0][, P0:= NULL][]

或者就像@DavidArenburg提到的,我们可以ifelse在加入“ ID”之后使用条件来替换“ P”中的NA元素。

DT2[DT1, P := ifelse(is.na(P), i.P0, P), on = 'ID']

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:使用另一个数据表的值更新数据表中的NA

来自分类Dev

使用另一个数据表中的列值更新一个数据表中的NA列

来自分类Dev

如何用另一个数据表更新一个数据表?

来自分类Dev

如何使用另一个数据库表中的值更新表

来自分类Dev

调用除默认数据表之外的另一个数据表

来自分类Dev

从另一个数据表中存在的数据表中删除行

来自分类Dev

如何根据另一个数据表中的条件从数据表中删除行

来自分类Dev

从另一个数据表中存在的数据表中删除行

来自分类Dev

无法基于另一个数据表从数据表中删除行

来自分类Dev

使用列的值将数据表中的数据添加到另一个数据表

来自分类Dev

使用存储在另一个数据表中的值对数据表中的值进行规范化

来自分类Dev

R:根据另一个数据表子集

来自分类Dev

从另一个数据表中查找间隔-按组

来自分类Dev

如何按时间序列将一个数据表中的条目与另一个数据表进行匹配?

来自分类Dev

将一个数据表复制到asp.net中的另一个数据表

来自分类Dev

如何按时间序列将一个数据表中的条目与另一个数据表进行匹配?

来自分类Dev

如何删除基于.net中的另一个数据表的一个数据表行?

来自分类Dev

将一个数据表的值复制到Mvc中的另一个数据表

来自分类Dev

检查数据表是否还有另一个数据表值-C#

来自分类Dev

VB:将数据表分配给另一个数据表而不导入记录。

来自分类Dev

如何从另一个数据表的行向数据表添加列

来自分类Dev

将数据表行复制到另一个数据表

来自分类Dev

比较两个数据表并在LINQ中显示另一个数据表中的差异

来自分类Dev

将一个数据表复制到另一个

来自分类Dev

试图从一个数据表中检索数据,而我试图根据某些条件使用C#填充另一个数据表,我无法做到这一点

来自分类Dev

用来自R中第二个数据表的观测值填充一个数据表中的NA值

来自分类Dev

从一个数据帧到另一个数据帧的数据表操作

来自分类Dev

使用第一个数据表过滤多个数据表

来自分类Dev

r数据表中的排名值由另一个变量分组

Related 相关文章

  1. 1

    R:使用另一个数据表的值更新数据表中的NA

  2. 2

    使用另一个数据表中的列值更新一个数据表中的NA列

  3. 3

    如何用另一个数据表更新一个数据表?

  4. 4

    如何使用另一个数据库表中的值更新表

  5. 5

    调用除默认数据表之外的另一个数据表

  6. 6

    从另一个数据表中存在的数据表中删除行

  7. 7

    如何根据另一个数据表中的条件从数据表中删除行

  8. 8

    从另一个数据表中存在的数据表中删除行

  9. 9

    无法基于另一个数据表从数据表中删除行

  10. 10

    使用列的值将数据表中的数据添加到另一个数据表

  11. 11

    使用存储在另一个数据表中的值对数据表中的值进行规范化

  12. 12

    R:根据另一个数据表子集

  13. 13

    从另一个数据表中查找间隔-按组

  14. 14

    如何按时间序列将一个数据表中的条目与另一个数据表进行匹配?

  15. 15

    将一个数据表复制到asp.net中的另一个数据表

  16. 16

    如何按时间序列将一个数据表中的条目与另一个数据表进行匹配?

  17. 17

    如何删除基于.net中的另一个数据表的一个数据表行?

  18. 18

    将一个数据表的值复制到Mvc中的另一个数据表

  19. 19

    检查数据表是否还有另一个数据表值-C#

  20. 20

    VB:将数据表分配给另一个数据表而不导入记录。

  21. 21

    如何从另一个数据表的行向数据表添加列

  22. 22

    将数据表行复制到另一个数据表

  23. 23

    比较两个数据表并在LINQ中显示另一个数据表中的差异

  24. 24

    将一个数据表复制到另一个

  25. 25

    试图从一个数据表中检索数据,而我试图根据某些条件使用C#填充另一个数据表,我无法做到这一点

  26. 26

    用来自R中第二个数据表的观测值填充一个数据表中的NA值

  27. 27

    从一个数据帧到另一个数据帧的数据表操作

  28. 28

    使用第一个数据表过滤多个数据表

  29. 29

    r数据表中的排名值由另一个变量分组

热门标签

归档