首页 > 解决方案 > 使用因子级别修改数据

问题描述

dat$Gender 是包含 m、M、f 和 F 的向量的数据。我正在尝试修改变量“性别”,以便通过使用因子将大写字母更改为小写。

  [1] m m m f m M f m m f m f f m m m f m m F f m f f m M M f m f f m m m m f f m M m f m m m f f M
 [48] M m m m f f f m f m m m f f f f M f m f f M m m m F m m f M M M f m M M m m f f f m m f m F f
 [95] m m F m M M
Levels: f F m M
dat$Gender

对于某些值,代码输出 N/A。我究竟做错了什么?

data_Gender<- factor(dat$Gender, levels=c("m","M","f","F"),labels= c("m","m","f","f"))
data_Gender

  [1] m    m    m    f    m    <NA> f    m    m    f    m    f    f    m    m    m    f    m    m   
 [20] <NA> f    m    f    f    m    <NA> <NA> f    m    f    f    m    m    m    m    f    f    m   
 [39] <NA> m    f    m    m    m    f    f    <NA> <NA> m    m    m    f    f    f    m    f    m   
 [58] m    m    f    f    f    f    <NA> f    m    f    f    <NA> m    m    m    <NA> m    m    f   
 [77] <NA> <NA> <NA> f    m    <NA> <NA> m    m    f    f    f    m    m    f    m    <NA> f    m   
 [96] m    <NA> m    <NA> <NA>
Levels: m < f

标签: rr-factor

解决方案


您可以像这样直接编辑级别:levels(x) <- tolower(levels(x)). levels需要是字符向量,而不是列表。


推荐阅读