我是 matlab 的新手。我有一个分类输入预测器(X)和过去的结果集(Y,二进制)。我想通过以下方法将其转换为数字变量。对于每个类别,计算 Y 的平均值并将该值替换为平均值。例如:
X Y X'
1 1 1
2 0 0
3 1 0.5
1 1 1
2 0 0
3 0 0.5
请帮忙。
您正在寻找具有mean
函数的accumarray
,其中Y
作为vals,X
作为subs
Xprime = accumarray( X, Y, [], @mean );
Xprime = Xptime( X );