2016-03-31 86 views
2

我有一個Factor類型欄名爲City的數據框。它的價值如同New YorkNEW YORK如何使用dplyr進行不區分大小寫的分組?

當我運行這段代碼:

group_by(dataframe, City)

我得到這樣的結果:

City, Value 
New York, 12 
NEW YORK, 100 

我想City分組是不區分大小寫的,因此會把New YorkNEW YORK在同一類別。

我可以用dplyr來做這個嗎?

+3

使用'GROUP_BY(tolower的(市))' –

+1

@StevenBeaupré那的作品。如果你讓這個答案,一旦堆棧溢出允許我將它標記爲正確。對於獎金,我怎麼能把他們放在'紐約'這個類別? – Username

回答

3

如果你想group_by穿制服的 「城市」 的類別,你可以使用stri_trans_totitlestringi

從文檔:

隨着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 
相關問題