2017-04-21 1 views
0

ggplot2에서 주석문과 표현식 문을 혼합하려고합니다. "미학은 길이가 1이거나 데이터 (1)과 동일해야합니다"라는 일관된 오류가 나타납니다. 내 첫 번째 생각은 내가 에이스에서 변수의 숫자가 잘못되었다는 것이다. 그것은 여전히 ​​사실 일지 모르지만, 고칠 때마다 머리를 감쌀 수 없었습니다. 그래서 나는 근본적인 문제를 해결하지 못했던 오류와 해결책을 수색하고 발견했다.미학은 길이가 1이거나 데이터 (1)과 같아야합니다.

r2.val <- .09 
pl <- qplot(c(0,30)) 
pl+annotate(geom="text",x=0,y=28,label=(bquote(Value~is~sigma~R^{2}==. 
(r2.val)))) 
+0

뭔가'와줘 + 주석 (기하 = "텍스트", x = 0, y = 28, 레이블 = paste0 ("값 ~은 ~ 시그마 ~ R^{2} ==", r2.val), 구문 분석 = TRUE)' – ahly

답변

-1
pl <- qplot(c(0,30)) 
r2.val = 0.42 
pl+annotate(geom="text",x=8,y=-.2,label=(paste("Value~is~sigma~R^{2}==", 
               (r2.val)))) 

: 여기 내 코드는?

+0

감사합니다 , r2.val에 대한 누락 된 값을 수정하지만 미학 오류 메시지가 계속 표시됩니다. 내 메인 세션에서 볼 수있는 유일한 오류 메시지입니다. 또 다른 신선한 세션에서 나는'bins = 30'을 사용하여 "stat_bin()"을 얻습니다 .' binwidth'로 더 나은 값을 선택하십시오. " – SteveM49

+0

@ SteveM49 그저 히스토그램에 30이라는 기본 빈 수를 사용하고 있음을 알리는 것입니다. 그것을 바꾸고 싶다면'binwidth = '를'qplot' 안에 추가하십시오. – Paolo

0

나는 bquote에 익숙하지 않아요하지만 당신은 paste0을 사용하고 parse = TRUEannotate에 설정하여 당신이 뭘 하려는지 달성 할 수있는 것 같습니다 : 같은

pl + annotate(geom="text", x=10, y=1, 
       label = paste0("Value~is~sigma~R^2==", r2.val), parse = TRUE) 

plot

+0

감사합니다. 나는 너의 제안을 사용할지도 모른다. 내가 bquote 함수를 발견 한 게시물에서도 paste 또는 paste0을 사용하는 것이 가능할 수 있다고 언급되었지만 낙심해야합니다. 분명히, 나는 심지어 bquote를 이해하지 못한다. 그러나 내가 질문을 열어두면 더 많이 배울지도 모른다. – SteveM49

관련 문제