如何使用dplyr进行不区分大小写的分组?

时间:2016-03-31 17:11:54

标签: r dplyr grouping

我有一个名为Factor的{​​{1}}类型列的数据框。它的价值与CityNew York相同。

当我运行此代码时:

NEW YORK

我得到了这个结果:

group_by(dataframe, City)

我希望City, Value New York, 12 NEW YORK, 100 分组不区分大小写,因此会将CityNew York放在同一类别中。

我可以使用NEW YORK执行此操作吗?

1 个答案:

答案 0 :(得分:3)

如果你想group_by穿制服" city"类别,您可以使用stri_trans_totitle

中的stringi

来自文档:

  

使用stri_trans_totitle,如果使用单词BreakIterator(默认值),   那么每个单词的第一个字母将被大写,其余的则被大写   将转变为小写。

例如:

df %>%
  group_by(Category = stringi::stri_trans_totitle(City)) %>%
  mutate(rn = row_number())

会给:

#Source: local data frame [4 x 4]
#Groups: Category [2]
#
#        City Value   Category    rn
#      (fctr) (int)      (chr) (int)
#1   New York    12   New York     1
#2   NEW YORK   100   New York     2
#3 NeW JerSey   123 New Jersey     1
#4 NEW JERSEY   111 New Jersey     2