我有一個問題,我一直無法找到解決方案。我有一個數據框,有不同的形容詞和分詞,它們有兩種不同的模式。在與ggplot相同的圖中訂購兩個直方圖
head(THAT_EXT_COMBINED)
ID PATTERN NODE
1 HRE_721_03 THAT_EXT accepted
2 G08_1321_01 THAT_EXT acknowledged
3 AAW_47_03 THAT_EXT acknowledged
4 G20_1490_01 THAT_EXT alarming
5 FY8_732_02 THAT_EXT amazing
6 HEM_128_03 THAT_EXT amazing
str(THAT_EXT_COMBINED)
'data.frame': 1450 obs. of 3 variables:
$ ID : Factor w/ 1450 levels "A05_253_01","A05_277_07",..: 1109 827 265 853 812 1046 369 810 214 41 ...
$ PATTERN: Factor w/ 2 levels "THAT_EXT","THAT_POST": 1 1 1 1 1 1 1 1 1 1 ...
$ NODE : Factor w/ 201 levels "accepted","acknowledged",..: 1 2 2 6 8 8 8 10 12 15 ...
我想繪製這兩種模式的形容詞在同一地塊使用兩個柱狀圖頻率下降。問題在於兩者之間有一些重疊(即在兩種模式中都找到了一些形容詞),但我只希望每個直方圖以最常見的形容詞開頭。
這裏是一個生產個人直方圖時,我一直在使用排序的代碼:
THAT_EXT_COMBINED <- within(THAT_EXT_COMBINED,
NODE <- factor(NODE,
levels=names(sort(table(NODE),
decreasing=TRUE))))
我明白爲什麼這不,因爲它的工作結合了這兩種模式的頻率,但我仍不很不知道如何解決它。我一直在嘗試reorder()沒有任何運氣。有任何想法嗎?
這裏是我使用的情節代碼:
graph<-ggplot(THAT_EXT_COMBINED, aes(x=NODE, fill=PATTERN)) +
geom_histogram(binwidth=.5, position="dodge")
graph + opts(axis.text.x = theme_blank()) + #removes text labels on x-axis
scale_y_continuous("Frequency") +
scale_x_discrete("Adjectives",breaks=NULL)+
opts(title = expression("Distribution of Adjectives"))
與所得的積的問題是,形容詞不是由嚴格的兩種模式各自的頻率排序。有人能幫忙嗎?
所以,這裏是我用上面的代碼創建的圖形。我想要的是,每個模式的形容詞按降序排列,即兩個直方圖按頻率降序排列。我想這歸結爲一個排序問題,我試圖以不同的方式排列因子,但是我一直沒有能夠通過PATTERN來實現,並且通過NODE的頻率來實現。
我想你可能要總結你的數據的手能夠使用重新排序() – 2012-07-05 18:00:07