假设我的数据框包含
> DF
V1 V2 V3
1 0.3 0.4 0.7
2 0.4 0.2 0.1
3 0.2 0.8 0.3
4 0.5 0.8 0.9
5 0.2 0.7 0.8
6 0.8 0.3 0.6
7 0.1 0.5 0.4
行将是不同类型的汽车, 并且列将是给定类别V1,V2,V3的概率。
我想生成一个向每个汽车分配其概率最高的类别的向量。 例如,我希望汽车1与V3相关联,汽车2与V1相关联,汽车3与V2相关联。
关于我应该如何解决这个问题的任何帮助或提示?
答案 0 :(得分:4)
我们可以使用max.col
来获取与每行中最大值对应的列索引。
names(DF)[max.col(DF, "first")]
#[1] "V3" "V1" "V2" "V3" "V3" "V1" "V2"
答案 1 :(得分:2)
另一种解决方案是:
names(DF)[apply(DF, 1, which.max)]
# [1] "V3" "V1" "V2" "V3" "V3" "V1" "V2"