2016-03-31 22 views
2

City adı verilen Factor tür sütunlu bir veri çerçevem ​​var. New York ve NEW YORK gibi değerlidir. Bu kodu çalıştırdığınızdaDplyr ile büyük küçük harf duyarlı gruplandırma nasıl yapılır?

:

City, Value 
New York, 12 
NEW YORK, 100 

Ben City içeri New York ve NEW YORK koyacağız böylece küçük harf duyarsız olmasını gruplandırma istiyorum:

group_by(dataframe, City)

Bu sonuç almak aynı kategori

Bunu dplyr ile yapabilir miyim? Eğer belgelerine stringi paketin

den stri_trans_totitle kullanabilirsiniz Eğer group_by üniformalı "şehir" kategorilerinde istiyorsanız

+3

Kullanım 'group_by StevenBeaupré eserlerinin @ ((Şehir) tolower)' –

+1

. Eğer bunu bir cevap olarak yaparsanız, yığının taşması bana izin verdiğinde doğru olarak işaretleyeceğim. Bir bonus için onları 'New York' kategorisine nasıl yerleştirebilirim? – Username

cevap

3

: kelimesi BreakIterator (varsayılan) kullanıldığı takdirde, stri_trans_totitle ile

, sonra her kelimenin ilk harfi büyük harfle yazılacak ve geri kalan küçük harfe dönüştürülecektir.

Örneğin

:

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

verir misiniz:

#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 
İlgili konular