2015-06-01 11 views
6

Mam zbiór rzymskich monet, które staram się reprezentować za pomocą ggplot w R.wartości grupowe, które występują tylko raz w innej dziedzinie

Istnieje 25 różnych wyznań w danych, ale I” Chcesz połączyć wszystkie denominacje, które mają tylko jedno wystąpienie w polu "INNE", aby wykresy były łatwiejsze do odczytania.

Medium Method Denom   Date     Era 
1 Silver Struck Denarius   112 B.C.E.:111 B.C.E. Period V – c. 119-91 B.C.E. 
2 Bronze Cast Χαλκα μεγεθους 181 B.C.E.:174 B.C.E. Period III – c. 187-155 B.C.E. 
3 Bronze Struck Litra:Half-litra   269 B.C.E. Period I – 269 - c. 222 B.C.E. 
4 Bronze Struck Litra:Half-litra   269 B.C.E. Period I – 269 - c. 222 B.C.E. 
5 Silver Struck Didrachm   275 B.C.E.:270 B.C.E. Period I – 269 - c. 222 B.C.E. 
6 Bronze Struck Double-litra  275 B.C.E.:270 B.C.E. Period I – 269 - c. 222 B.C.E. 

Korzystanie próbkę data.frame powyżej, „Denom” kolumna musi mieć każdą wartość, która występuje tylko jeden raz zgrupowane i wyświetlane jako „inne”. Myślę, że powinienem to zrobić w danych przed rozpoczęciem fabuły. Proszę wskazać mi właściwy kierunek.

Oto kod, którego używam dla ggplot, jeśli to pomaga.

ggplot(data=longbadian, aes(x=Era, fill=Denom)) 
+ geom_bar(aes(x=Era2), data = longbadian, stat="bin") 
+ theme(axis.text.x = element_text(angle=75, hjust=1), 
         legend.title=element_blank()) 
+ xlab("Sydenham Periods") 
+ ylab("Coins by Denomination") 

Oto przykładowy wykres:

enter image description here

Odpowiedz

5

coś takiego:

## example data 
dd <- data.frame(DENOM=rep(LETTERS[1:7],c(10,5,4,rep(1,4)))) 
tt <- table(dd$DENOM)     ## count occurrences 
singletons <- names(tt)[tt==1]   ## find singletons 
tmpc <- as.character(dd$DENOM)   ## convert from factor to char 
tmpc[tmpc %in% singletons] <- "OTHER" ## replace values 
dd$DENOM <- factor(tmpc)    ## convert back to factor 

Jedyny problem z tego rozwiązania jest to, że będzie bałagan żadnych wcześniej nieistniejących -default ordering w twoim czynniku DENOM.

+0

Ten kod działa idealnie. Dzięki! –

Powiązane problemy