我有两个数据表,显示多个位置(由地理编码标识)的温度。
我想创建第三个数据表,基于它们之间的减法。以下是它们:
library(data.table)
# Generate random data:
geocode <- paste0("N", 1:10)
dates <- seq(as.Date("2000-01-01"), as.Date("2004-12-31"), by="month")
models <- c("A", "B", "C", "D", "E")
temp <- runif(length(geocode)*length(dates)*length(models), min=0, max=30)
dt1 <- data.table(expand.grid(Location=geocode,Date=dates,Model=models),Temperature=temp)
ref <- runif(length(geocode), min=0, max=30)
dt2 <- data.table(expand.grid(Location=geocode), Temperature=ref)
我希望能够有条件地从dt1中减去dt2。对于每个位置(地理编码),我想将dt2中的温度从dt1中的温度中减去,保留其他列(Date
和Model
)。
如何实现呢?如果只是单个数据表,我知道如何做,但我以前从未尝试过在两个不同的数据表上进行代数运算。