如何使用gsub替换另一个值?

时间:2017-12-22 09:45:11

标签: r gsub

我在数据框中有一个有称呼的列,即。标题。

当我对列进行总结时,我得到如下摘要:

DR. DR MS. Ms. MS 
--------------------
6  20  31  12  21 

我打算合并DR。作为DR和MS。 MS女士。

所以我写的代码是

gsub("DR\\.", "DR",df$TITLE)
gsub("M[s/S]\\.","MS",df$TITLE)

但是由此无法获得摘要....摘要的结果变为:

 Length     Class      Mode 
----------------------------
 6189     character   character

其中我希望摘要的结果是

DR  MS
--------
26  64

我如何实现这一目标。我在这里做的错误是什么?

1 个答案:

答案 0 :(得分:1)

我们可以使用fixed = TRUE并更改' TITLE'大写,以便我们只有两个类别

df$TITLE <- factor(toupper(sub(".", "", df$TITLE, fixed = TRUE)))

当我们应用sub/gsub时,factor班级更改为character,而summary会为factor班级和Length提供频率/点数。 character类列。因此,我们需要使用factor或使用table

进行包装
table(df$TITLE)
summary(df$TITLE)