我有一个数据集,我已经做了一些预测。我现在想计算
RMSPE
为此,我使用
多指标
根据我的理解,通过输入预测值和实际值,我将得到
RMSPE
. 我有多困惑我怎么能在里面用这个
数据表
传递两组列。
我的示例数据集如下所示-
library(data.table)
library(MLmetrics)
set.seed(123)
id <- seq(1001,1100,1)
city <- sample(1:4,100,replace = T)
a1 <- sample(1:100,100,replace = T)
a2 <- sample(1:100,100,replace = T)
a3 <- sample(1:100,100,replace = T)
a4 <- sample(1:100,100,replace = T)
a5 <- sample(1:100,100,replace = T)
p1 <- sample(1:100,100,replace = T)
p2 <- sample(1:100,100,replace = T)
p3 <- sample(1:100,100,replace = T)
p4 <- sample(1:100,100,replace = T)
p5 <- sample(1:100,100,replace = T)
df1 <- as.data.table(data.frame(id,city,a1,a2,a3,a4,a5,p1,p2,p3,p4,p5))
RMSPE <- df1[, lapply(.SD, function(x,y) RMSPE(x,y),
by = city, .SDcols = **xxxx**)]
所以在这种情况下,a1,a2,a3,a4,a5是我的实际值,p1,p2,p3,p4,p5是我的预测值。我想把p1,p2,p3,p4,p5作为x传递,把a1,a2,a3,a4,a5作为y传递。我期望得到的结果是一种汇总表,有4行(每个城市一行)和6列,第一列是城市,第2-6列对于
RMSPE
对于每个变量。
我怎样才能在data.table中得到这个。我该换什么
XXXX
用什么?
谢谢您!!