【发布时间】:2017-07-20 08:21:25
【问题描述】:
我是初学者,正在探索 R 语言。正在处理下面的 data.frame,我想反转 Sex 向量值。即 'F' -> 'M' 和 'M' -> 'F'
sampleData
Age Height Sex
Alex 25 177 F
Lilly 31 163 F
Mark 23 190 M
Oliver 52 179 M
Martha 76 163 F
Lucas 49 183 M
Caroline 26 164 F
我尝试了三种方法,但都没有找到正确的方法。
-
将 F 替换为 M,反之亦然,但不会影响 Vector 中的实际值。
级别(性别)[1]
-
在下面使用“mapvalues”功能进行了尝试,但仍然没有任何变化。
图书馆(plyr) mapvalues(sampleData$Sex, from = c("F", "M"), to = c("M", "F"))
-
将 Sex 转换为矩阵并应用“求解”,但了解到它只能应用于数值矩阵。
Sex
有人可以帮我解决字符反转问题吗?!
【问题讨论】:
-
df$Sex <- chartr('FM', 'MF', df$Sex) -
factor(df$Sex, levels = c("F","M"), labels = c("M", "F")) -
谢谢@Sotos 和 docendo。两者都很完美。但是,Sotos 能否请您提供有关chartr 功能工作的见解?!它非常有用。
-
如果你去帮助页面
?chartr很清楚它的作用。你基本上把旧字符串和新字符串都喂给它,然后它会切换它们