2012-04-02 3 views
8

ggplot2에서 매우 간단한 누적 막 대형 차트를 만들려고하는데 어떤 이유로 작동하지 않고 오류 메시지가 나타납니다 : "pmin (y, 0) : 'y'개체를 찾을 수 없습니다 ". 문제가 어디 있니?ggplot2 스택 막대 차트 - 개체 y를 찾을 수 없습니다.

factorvar <- c(1,1,1,2,2,2,3,3,3) 
factorvar <- factor(factorvar, labels=c("Type", "Size", "Outcome")) 
freq <- c(3,1,4,1,2,2,4,1,1) 
fillvar <- c(1,1,1,2,2,2,3,3,3) 
fillvar <- factor(fillvar) 

df.harvest <- data.frame(fillvar,freq,factorvar) 

harvest <- ggplot(df.harvest, aes(x=factorvar, y=freq, fill=fillvar)) + geom_bar() 
harvest 
+2

'geom_bar' 호출에'stat = "identity"를''geom_bar (stat = "identity")'와 같이 추가하면 어떻게됩니까? –

답변

1

나는 오류 메시지가 무엇을 의미하는지 모르겠지만, 당신이 (당신의 fillvar 변수 대신에) fillvar = c(1,2,3,1,2,3,1,2,3)를 사용하는 경우는 누적 막대 그래프를 얻을 것이다.

2
나는 당신이 계산 할 당신이 쌓아 원하는,하지만 일부 데이터를 사용하여 이해하면 정말 모르겠어요

이 코드 나는이 얻을

qplot(factor(freq), data=df.harvest, geom="bar", fill=factorvar) 

,

qplot(factor(freq), data=df.harvest, geom="bar", fill=factor(factorvar))

찾고 계신가요?

3

이 꽤 오래 그러나 나는 그것을 위해 어떤 좋은 답변을 보지 못했다 : 당신이 y 축를 제공하는 경우

당신은 항상 geom_bar에 인수를 지정해야합니다.

이미 Y 축으로 주파수를 제공하고, 당신이 여기 fillvar은 본질적으로 factorvar과 동일, 또한 geom_bar(stat = "identity")

를 지정해야하므로 geom_bar는 당신을 위해 그것을 계산하지 않고 아무 지점이없는

하나를 축으로, 하나를 채우기 색으로 사용합니다.

그러나 서로 다른 경우 geom_bar(stat = "identity", position="dodge") 또는 (stat = "identity", position="stack")으로 지정해야합니다.

기본적으로 stat이 (가) 귀하의 케이스에서 "bin"으로 전환 중이며 오류가 발생했습니다. 또한 기본적으로 위치는 stack입니다.