Обновить столбцы с данными из значений из другого источника данных - PullRequest
0 голосов
/ 07 мая 2019

Рассмотрим следующие две таблицы данных:

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 из df1 соответствующими значениями из df2?

df1[,c("a","c"),with=FALSE] и df2[,c("a","c"),with=FALSE] возвращают соответствующие части каждого data.table;

но df1[,c("a","c"),with=FALSE] <- df2[,c("a","c"),with=FALSE] возвращает ошибку!

1 Ответ

1 голос
/ 07 мая 2019

Вот еще одно решение:

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 выбирает и переименовывает те, которые вас интересуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...