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

问题描述 投票:0回答:1

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

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

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

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

r gsub
1个回答
1
投票

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

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

当我们应用sub/gsub时,factor类更改为charactersummaryfactor类和Length character类列的频率/计数。所以,我们需要用factor包装它或使用table

table(df$TITLE)
summary(df$TITLE)
© www.soinside.com 2019 - 2024. All rights reserved.