使用来自另一个数据表的值更新数据表列

时间:2019-05-06 21:09:22

标签: r datatable assign

请考虑以下两个data.tables:

df1=data.table(a=1:3, b=4:6, c=7:9)
df2=data.table(a=c(T,F,T), c=c(F,F,T), d=c(T,F,F))

用来自a的相应值更新c的{​​{1}}和df1列的最佳方法是什么?

df2df1[,c("a","c"),with=FALSE]返回每个data.table的对应部分;

但是df2[,c("a","c"),with=FALSE]返回错误!

1 个答案:

答案 0 :(得分:1)

这是另一种解决方案:

library(tidyverse)

df1 <- tibble(a = 1:3, b = 4:6, c = 7:9)
df2 <- tibble(a = c(T,F,T), c = c(F,F,T), d = c(T,F,F))

bind_cols(df1, df2) %>% 
  transmute(a = a1, b, c = c1)

这将创建一个包含所有六列的表格,然后transmute调用将选择并重命名您感兴趣的表。