2016-07-31 4 views
0

전적으로 답을 찾고 있었지만,이 문제에 대한 답을 찾을 수 없었습니다 (어쩌면 저는 다른 답변을 사용하기에는 너무 어리석었습니다. R).두 개의 데이터 프레임에서 각각 하나의 ggplot을 찾습니다.

나는 다른 수의 행을 가진 두 개의 데이터 프레임을 가지고 있습니다. 데이터 프레임 당 하나의 막대를 포함하는 플롯을 생성하려고합니다. 둘 다 동일한 길이를 가져야하고 서로 다른 변수의 수가 서로 위에 쌓여 야합니다. 예를 들어, 나는 성별의 비율을 데이터 세트와 비교하려고합니다. 4 번째 2 :

t1<-data.frame(cbind(c(1:6), factor(c(1,2,2,1,2,2)))) t2<-data.frame(cbind(c(1:4), factor(c(1,2,2,1))))

1 남성 2 다음에 첫 번째 데이터 프레임의 성별의 비율이 2 인 것을 나타내는, 서로 I 두 barplots을 만들려 여성 나타내고 : 2. 오류에 이르게

ggplot() + geom_bar(aes(1, t1$X2, position = "fill")) + geom_bar(aes(1, t2$X2, position = "fill"))

:

내 시도는이처럼 보였다 "오류 :. stat_count()가 Y의 미학으로 사용할 수 없습니다"

+1

이 http://stackoverflow.com/help/mcve을 읽고 그에 따라 질문을 수정하시기 바랍니다. 문제를 재현 할 수 있도록'dput' 함수를 사용하여 날짜를 제공 할 수 있습니다. – Alex

답변

1

먼저 두 데이터 프레임을 병합해야합니다. 데이터의 출처를 식별하는 변수를 추가하고 두 데이터 프레임에 ID가있는 열 (예 : t1 및 t2)을 추가해야합니다. 칼럼 이름은 두 프레임에서 동일하므로 rbind 함수를 사용할 수 있습니다.

t1$data <- "t1" 
t2$data <- "t2" 
t <- (rbind(t1,t2)) 

이제 플롯을 만들 수 있습니다

ggplot(t[order(t$X2),], aes(data, X2, fill=factor(X2))) +   
geom_bar(stat="identity", position="stack") 
관련 문제