Я хотел бы вычесть одну таблицу данных R из другой.У меня есть список совпадающих столбцов и список столбцов для операции вычитания.
dt1 <- data.table(read.table(header=T, text=
"Date Code ColumnA ColumnB Session
01/01/2013 AB 0 5 PRE
01/01/2013 CJ 15 25 PRE
01/01/2013 JJ 20 20 PRE
02/01/2013 JJ 25 15 PRE"))
dt2 <- data.table(read.table(header=T, text=
"Date Code ColumnA ColumnB Session
01/01/2013 BB 15 25 POST
01/01/2013 AB 1 2 POST
02/01/2013 AB 25 15 POST
02/01/2013 JJ 35 15 POST"))
matchingCols <- c("Date", "Code")
mergingCols <- names(dt1)[3:4]
Я хотел бы получить следующую таблицу data.table:
Date Time ColumnA ColumnB Session
1: 01/01/2013 AB -1 3 PREPOST
2: 02/01/2013 JJ -10 0 PREPOST
Значения mergingCols в dt2 должны быть вычтены из dt1 для строк, в которых matchCols совпадают, чтобы я мог получить значения разностей.Слишком много слияющих коллов, чтобы указывать их по отдельности в коде.
Вот аналогичные вопросы, но я не могу адаптировать их для вычитания:
Как применить одну и ту же функцию к каждому указанномустолбец в data.table
Объединение фреймов данных при суммировании общих столбцов в R
объединение data.tables и суммирование общего столбца
Сработает ли rbind с агрегированным подходом или подход с объединением?