R语言 数据的整理与清洗(Factor篇)

《Cookbook for R》 Manipulating Data ~ Factors

Renaming levels of a factor 重命名因子的水平

先创建示例

x <- factor(c("alpha","beta","gamma","alpha","beta"))
x
#> [1] alpha beta  gamma alpha beta 
#> Levels: alpha beta gamma

levels(x)
#> [1] "alpha" "beta"  "gamma"

想要重命名因子的level
最简单的办法是使用来自于plyr包的 revalue()mapvalues()

library(plyr)
revalue(x, c("beta"="two", "gamma"="three"))
#> [1] alpha two   three alpha two  
#> Levels: alpha two three

mapvalues(x, from = c("beta", "gamma"), to = c("two", "three"))
#> [1] alpha two   three alpha two  
#> Levels: alpha two three

也可以用R的内置函数来做以下事情

# 以重命名形式:将beta改名为two
levels(x)[levels(x)=="beta"] <- "two"

# 也可以根据位置进行重命名,但这有可能会改变的你数据
# 因为因子的数值或者位置发生变化可能导致错误的数据

# 按照不同水平下表来重命名:更改第三个项目"gamma"为"three"
levels(x)[3] <- "three"
x
#> [1] alpha two   three alpha two  
#> Levels: alpha two three

# 所有水平都重命名
levels(x) <- c("one&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值