gpt4 book ai didi

r - 将因子级别更改为列的自定义顺序

转载 作者:行者123 更新时间:2023-12-04 14:41:28 24 4
gpt4 key购买 nike

我有一个如下所示的数据框

> data = data.frame(name = c('Mike', 'Tony', 'Carol', 'Tim', 'Joe'), veh = c('car', 'bike', 'car', 'car', 'cycle') )
> data
name veh
1 Mike car
2 Tony bike
3 Carol car
4 Tim car
5 Joe cycle
> str(data$name)
Factor w/ 5 levels "Carol","Joe",..: 3 5 1 4 2
> str(data$veh)
Factor w/ 3 levels "bike","car","cycle": 2 1 2 2 3
> levels(data$veh)
[1] "bike" "car" "cycle"

默认情况下,因子水平设置为 1 代表自行车,2 代表汽车,3 代表自行车。我需要将因子级别更改为汽车 1、自行车 2 和自行车 3 - 我该怎么做?

最佳答案

tidyverse 没什么问题/forcats解决方案,但 base-R 解决方案是使用 factor()levels按所需顺序指定的参数:

data$veh <- factor(data$veh, levels=c("car","cycle","bike"))

与普遍看法相反, ordered=TRUE在这种情况下通常不是必需的(即使是普通因素也有排序),除非您特别想将焦点变量视为有序变量(在这种情况下,R 将使用正交多项式对比,而不是处理对比,默认情况下),或者希望能够在变量上使用比较运算符(例如 veh > "car" );如果您不确定,默认(普通)因素可能没问题。

关于r - 将因子级别更改为列的自定义顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47962255/

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