2014-06-09 79 views
4

我正在嘗試用我的輸入作爲矢量創建一個帶有負值和正值的簡單條形圖。我希望barplot顯示以紅色顯示的正值和以藍色顯示的負值。我明白這個問題很簡單,但我似乎無法弄清楚。有條件條形圖着色與R中的矢量

這是我的矢量:

x <- (1.9230769, 1.2961538, 0.2576923, -1.5500000, -1.3192308, 
0.2192308, 1.8346154, 1.6038462, 2.5653846, 4.1423077) 

我試圖代碼:

barplot(x, ylim=c(-8,8), if(x>0) {col="red"} else {col="blue"}) 

,但我不斷收到寫着

「的錯誤在如果(X> 0 ){:條件長度> 1且僅使用第一個 元素「

我怎樣才能讓它理解貫穿整個矢量,並有條件地用紅色和藍色繪製它?

謝謝,

亞當

回答

11

使用

barplot(x, ylim=c(-8,8), col=ifelse(x>0,"red","blue")) 

col=期望具有相同的長度x向量(或將回收的值)。你不能真正有條件地指定這樣的參數。與if不同的是,ifelse只會運行一次。

colored bar plot

+0

非常好!謝謝你,先生! – user3720887