gpt4 book ai didi

R 将多个虚拟变量列合并为 1

转载 作者:行者123 更新时间:2023-12-02 00:28:45 25 4
gpt4 key购买 nike

我正在尝试合并汽车数据框架(插入符号包)中的几列。 “敞篷车、轿跑车、掀背车、轿车、旅行车”列具有虚拟变量,我想创建 1 个名为 type 的列,列名称取决于车辆类型。

library(caret)
data(cars)
head(cars)
colnames(cars)

以下是汽车数据框的列名称:

 [1] "Price"       "Mileage"     "Cylinder"    "Doors"       "Cruise"        
[6] "Sound" "Leather" "Buick" "Cadillac" "Chevy"
[11] "Pontiac" "Saab" "Saturn" "convertible" "coupe"
[16] "hatchback" "sedan" "wagon"

如何将最后 5 个虚拟变量列合并/合并为 1 个具有相应车辆类型的列?

任何见解或帮助将不胜感激!

最佳答案

使用 max.col 的矢量化解决方案:

cars$type <- names(cars[14:18])[max.col(cars[14:18])]

作为替代解决方案,您可以使用match:

cars$type <- names(cars[14:18])[apply(cars[14:18], 1, match, x = 1)] 

关于R 将多个虚拟变量列合并为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com