2017-12-11 6 views
1

안녕하세요, 다음 빈도/백분율 값을 가진 두 개의 데이터 프레임이 있습니다.ggplot2 : x 축 값이 겹치는 그래프 2 개를 그립니다.

Value Frequency Percentage 
2   1 2.777778 
3   7 19.444444 
4  19 52.777778 
5   9 25.000000 


Value Frequency Percentage 
1   2 3.773585 
2   3 5.660377 
3   8 15.094340 
4  20 37.735849 
5  20 37.735849 

값에서 알 수 있듯이 값은 동일한 범위 1-5에 속합니다. 그러나 경우에 따라 일부 값에 빈도가 없습니다 (값 1이 df 1에 누락되었습니다). 2 개의 geom_lines를 사용하여 동일한 그래프에 백분율 값을 어떻게 그리 수 있습니까? 두 줄 모두 1-5의 공통 x 축을 갖기를 바랍니다.

답변

0
df1<-data.frame(Value = c(2,3,4,5), 
       Frequency = c(1,7,19,9), 
       Percentage = c(2.777778,19.444444,52.777778,25.000000) 
       ) 

df2<-data.frame(Value = c(1,2,3,4,5), 
       Frequency = c(2,3,8,20,20), 
       Percentage = c(3.773585,5.660377,15.094340,37.735849,37.735849 
       ))    

df1$N<-factor(1) 
df2$N<-factor(2) 

df3<-rbind(df1,df2) 

library(ggplot2) 

plot<-ggplot(df3,aes(Value,Percentage, color = N))+ 
    geom_line() 
print(plot) 

https://i.stack.imgur.com/Iua2d.png

+0

을 플롯 할 수 있습니다 x 축은 2,3,4,5,1로 정렬되었습니다. 나는 무엇을 잘못 했는가? –

+0

[명확히하기] 데이터 프레임의 이름을 변경하고 코드를 사용했을 뿐이지 만 "각 그룹은 하나의 관찰로 구성되어 있습니다. 그룹의 미적을 조정해야합니까?" 그래서 group = N을 사용했습니다. 그래야 음모가 만들어 지지만 2,3,4,5,1의 순서가 있습니다. 코드를 그대로 사용하면 아무런 문제가 없습니다. –

+0

데이터 프레임에 Value 변수가 정렬 된 요소 일 수 있습니다. ?? 클래스 사용 (df3 $ 값) – XabiR

0

당신은, 데이터 세트 모두 결박 행 두 데이터 세트를 식별하기 위해, 태그 변수를 생성하고 나는 그것을 시도 할 때 다음

df1 = data.frame(Value = c(2,3,4,5), 
       Frequency = c(1,7,19,9), 
       Percentage = c(2.77,19.44,52.77,25)) 
df2 = data.frame(Value = c(1,2,3,4,5), 
       Frequency = c(2,3,8,20,20), 
       Percentage = c(3.77,5.66,15.09,37.73,37.73)) 

df1$Type = "A" 
df2$Type = "B" 

dfw = rbind(df1,df2) 

ggplot(data = dfw, aes(x = Value, y = Percentage, color = Type)) + geom_line()