我有一个数据集,我做了一些预测。我现在想要计算 RMSPE ,为此我正在使用 MLmetrics 包,因为我通过预测和实际的输入理解我会得到 RMSPE 。我怎么会混淆如何在 data.table 中使用它来传递2组列。
我的示例数据集如下所示 -
final Image closedImage = new Image(getClass().getResourceAsStream("folder.png"));
final Image openImage = new Image(getClass().getResourceAsStream("folder-open.png"));
tree.setCellFactory(param -> new TreeCell<File>() {
{
final ImageView imageView = new ImageView();
imageView.setFitWidth(20);
imageView.setFitHeight(20);
final ChangeListener<Boolean> expansionListener = new WeakChangeListener<>((o, oldValue, newValue) -> {
imageView.setImage(newValue ? openImage : closedImage);
});
// add change listener to expanded property of item
treeItemProperty().addListener((o, oldValue, newValue) -> {
if (oldValue != null) {
oldValue.expandedProperty().removeListener(expansionListener);
}
if (newValue != null) {
newValue.expandedProperty().addListener(expansionListener);
expansionListener.changed(null, null, newValue.isExpanded()); // trigger for initial value
}
});
setDisclosureNode(imageView);
}
@Override
public void updateItem(File item, boolean empty) {
super.updateItem(item, empty);
setText((empty || item == null) ? "" : item.getName());
}
});
所以在这种情况下,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谢谢!
答案 0 :(得分:2)
我不确定这是否是您要找的
colsToKeep <- c("a1", "a2", "a3", "a4", "a5")
colsToW <- c("p1", "p2", "p3", "p4", "p5")
df1[, Map(function(x,y, w) get(x)(y, w),
setNames(rep('RMSPE',length(colsToKeep)), paste("RMSPE", colsToKeep, colsToW, sep = "_")),
.SD[, ..colsToKeep], .SD[, ..colsToW]),
by = city]