2015-12-28 76 views
2

我試圖創建一個條形圖,其中只包含我的感興趣的結果和大量預測變量之間找到的前5個相關性。R barplot:使用名稱中的一個子集名稱.arg

我試了一下,只有20來得到正確的邏輯。

我有一個1乘20的數字向量,其中包含cor()函數產生的相關係數。有正面和負面的價值。該向量具有與預測變量的名稱相對應的列名稱。這是我開始與結構:

set.seed(10) 
mydata <- runif(20,-.5,.5) 
mydata <- t(mydata) 
colnames(mydata) <- letters[1:20] 

5個最強相關性的「T」,「Q」,「M」,「e」和「F」,其中「t」爲正,而另一4是負面的。我通過訂購平方值來生成5個最強關聯的條形圖。

barplot(mydata[order(-mydata^2)][1:5], horiz=TRUE,names.arg=HELP, xlim= c(-1,1), las=1) 

爲5條的值看起來是正確的,但我一直沒能得到標籤正確顯示。我已經嘗試了各種各樣的東西names.arg =幫助沒有運氣。我試過

names.args = colnames(mydata) 
names.args = colnames(mydata[order(-mydata^2)] 
names.args = colnames(mydata[order(-mydata^2)[1:5]]) 
names.args = colnames(order(-mydata^2)[1:5]) 

我只想要一個帶有正確5個標籤的條形圖。

我需要在13,000+個預測變量和30個以上的結果上重複這個過程,一旦找出它,越簡單越好。

+0

使用相同的邏輯:'barplot(MYDATA [順序(-mydata^2)] [1:5],HORIZ = TRUE,names.arg = colnames(MYDATA) (-mydata^2)] [1:5],xlim = c(-1,1),las = 1)' – fishtank

+0

很好用。感謝fishtank。只有一個括號不合適! – andrea

+0

@fishtank,請添加您的評論作爲這個問題的答案。 –

回答

1

這工作:

barplot(mydata[order(-mydata^2)][1:5], horiz=TRUE, 
     names.arg=colnames(mydata)[order(-mydata^2)][1:5], xlim= c(-1,1), las=1)