2014-06-09 2 views
4

입력 값을 벡터로하여 음수 값과 양수 값을 가진 간단한 바 plot을 생성하려고합니다. 바 플롯에 빨간색으로 채워진 양수 값과 파란색으로 채워진 음수 값을 표시하고 싶습니다. 이 문제는 간단하지만 이해할 수는없는 것 같습니다. 내가 코드를 시도조건부 Barchart는 벡터가있는 색칠을 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와 같은 길이의 벡터를 기대하고있다. 그리고 당신은 그런 매개 변수를 조건부로 지정할 수 없습니다. ifelse은 한 번만 실행되는 if과 달리 원하는대로 벡터를 만듭니다.

colored bar plot

+0

우수! 감사합니다! – user3720887

관련 문제