使用和的R混淆矩阵

使用和的R混淆矩阵,r,confusion-matrix,R,Confusion Matrix,我有一个带有实际值和预测值的数据表。我可以很容易地生成混淆矩阵,但我希望矩阵的每个元素都是第三列的和。在下面的示例代码中,可以将数据表的每一行视为具有实际和预测土地分类以及关联区域的多边形。我希望混淆矩阵显示每个配对中的面积总和 library(data.table) library(caret) set.seed(9) # Possible land classifications land.class <- c("Grass","Building","Road","Parking"

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

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)
库(data.table)
图书馆(插入符号)
种子(9)
#可能的土地分类

land.class我不认为混淆矩阵可以做你所描述的,但是试着
聚合(面积~actual+predict,data=dt,sum)
,也许这将以更表格化的形式运行,
库(重塑2);dcast(dt,actual~predict,fun.aggregate=sum)
我不认为混淆矩阵可以实现您所描述的功能,但请尝试
aggregate(area~actual+predict,data=dt,sum)
,也许这将以更表格化的形式运行,
库(重塑2);dcast(dt,实际~predict,fun.aggregate=sum)