1

我有一个包含实际值和预测值的数据表。我可以很容易地生成一个混淆矩阵,但我希望矩阵的每个元素都是第三列的总和。在下面的示例代码中,您可以将数据表的每一行视为具有实际和预测土地分类以及相关区域的多边形。我希望混淆矩阵显示每对中的面积总和。

library(data.table)
library(caret)

set.seed(9)

# Possible land classifications
land.class <- c("Grass","Building","Road","Parking")

# Build a data table of actual and predicted values
dt <- data.table(actual=sample(land.class,100,replace=TRUE),
             predict=sample(land.class,100,replace=TRUE),
             area=rnorm(n=100,mean=50,sd=15))

# Confusion matrix
confusionMatrix(dt$predict,dt$actual)

# Which is the same as
table(dt$predict,dt$actual)

# How do I get each cell to be the sum of the area?
sum(dt[actual=='Grass' & predict=='Grass']$area)
sum(dt[actual=='Grass' & predict=='Building']$area)
4

0 回答 0