【发布时间】:2018-01-16 10:22:02
【问题描述】:
我有两个 data.tables 显示多个位置的温度(由地理编码识别)。
我想根据它们的减法创建第三个。他们在这里:
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。通过每个位置(地理编码),我想从 dt1 中的温度中减去 dt2 中的温度,保留其他列(Date 和 Model)。
如何做到这一点?如果它是单个数据表,我会知道该怎么做,但我以前从未尝试过像这样在两个不同的数据表上做代数。
【问题讨论】:
标签: r data.table conditional-statements subtraction