我有一個數值為 1,2 和 3 的數值列我想將其更改為因子列并分配值,即 1 = 汽油、2 = 混合動力和 3 = 柴油而不更改原始資料我該怎么做?
uj5u.com熱心網友回復:
您可以嘗試使用levels功能。例如dummy具有三個因子 1、2 和 3 的資料,
dummy <- data.frame(
fac = rep(c(1,2,3),4)
)
dummy$fac <- as.factor(dummy$fac)
在基地 R
R-1
levels(dummy$fac) <- c("Petrol", "Hybrid", "Disesel")
R-2
levels(dummy$fac) <- list("Petrol" = 1, "Hybrid" = 2, "Disesel" = 3)
此外,使用dplyr包,
dplyr
dummy$fac <- dplyr::recode_factor(dummy$fac, "1" = "Petrol", "2" = "Hybrid" , "3" = "Disesel")
都會給
fac
1 Petrol
2 Hybrid
3 Disesel
4 Petrol
5 Hybrid
6 Disesel
7 Petrol
8 Hybrid
9 Disesel
10 Petrol
11 Hybrid
12 Disesel
而str(dummy$fac)像
Factor w/ 3 levels "Petrol","Hybrid",..: 1 2 3 1 2 3 1 2 3 1 ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/347572.html
標籤:r
上一篇:在R中創建資料透視表
