오류 : "unit"기능을 찾을 수 없습니다.


78

테마 설정을 수정하는 동안이 간단한 코드는 다음 오류를 제공합니다.

library(ggplot2)
theme_nogrid <- theme_set(theme_update(  
                  plot.margin=unit(c(.25, .25, .25, .25), "in"),))

Error in do.call(theme, list(...)) : could not find function "unit"

R'단위'를 사용하는 모든 요소에 대해이 오류를 제공합니다. 'unit'을 호출하지 않는 다른 설정은 정상적으로 작동합니다. R v.2.15.2 (64 비트 Windows)를 실행하고 있습니다.

이 문제에 대해 온라인에서 광범위하게 검색했지만 아무것도 발견하지 못했습니다. 문제에 대한 제안에 감사드립니다.


27
require(grid)
Gregor Thomas

4
ggplot2는 이제로드하는 대신 그리드를 가져옵니다
baptiste

1
격자도 마찬가지입니다. 누군가가 답을 바로 잡아야 확인 될 수 있습니다. 그것은 "기록에"있을 가치가 있습니다.
IRTFM

'methods'에서도 같은 일이 발생했습니다. stackoverflow.com/questions/30266732/… 현재 버전의 ggplot (1.0.1에서 작업)이 일부 패키지를로드하는 대신 가져 오는 경우입니까? 나는 gglot의 내부에 대한 지식을 가진 누군가의 포괄적 인 답변이 있어야한다고 믿습니다.
Costas Bouyioukos

답변:


73

이것은 ggplot2의 arrow ()가 더 이상 지원 되지 않지만 정확히 동일하지는 않지만 밀접한 관련이 있습니다 .

[ grid패키지]는의 이전 버전에 의해 자동으로로드되었습니다 ggplot[2]( grid사용자가 기능을 표시 / 접근 할 수 있도록 함). 이제는 NAMESPACE대신 가져 오기 를 통해 참조 되므로 함수 grid를 사용하려면 grid(또는 도움말 페이지를 보려면) 명시 적으로로드 해야합니다 .

여기서 "명시 적으로로드"는 library("grid")또는 require("grid")( grid는 기본 패키지이므로 별도로 설치할 필요가 없음)을 의미합니다.

unit()grid패키지 의 함수 이므로 위의 답변 (약 arrow())이 적용됩니다.

또는 전체 패키지를 명시 적으로로드 grid::unit(...)하거나 지정 grid::arrow(...)하지 않고 지정할 수 있습니다 .


확실히 밀접한 관련이 있었는데, '방법'에서도 비슷한 일이 발생했습니다. 보세요 : stackoverflow.com/questions/30266732/…
Costas Bouyioukos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.