xlab R에 해당하는 Python`from x import y as z`




r plot axis scale (4)

R에 직접적으로 동등한 기능은 없지만 다른 답변에서 지적한 바와 같이 유사한 결과를 얻을 수 있습니다.

library 인수는 패키지 네임 스페이스를 로드 하고 검색 네임 스페이스에 첨부 합니다. Joshua Ulrich가 지적한 바와 같이, 네임 스페이스를 검색 목록에 첨부 하지 않고도 패키지 네임 스페이스를 로드 할 수 있습니다. library 사용하면 실제로 loadNamespaceattachNamespace 가 모두 호출됩니다.

로딩부착 의 차이는 광범위한 패키지 개발 전문 지식을 보유한 사람 (앞서 언급 한 울리히 (Ulrich)의 생각이 떠오른다)이 가장 잘 설명합니다. 따라서 Hadley Wickham 이 작성한 네임 스페이스에서이 글을 계속 읽어 보시기 바랍니다.

그러나 라이브러리 문에 대한 설명에서 설명한 것처럼 library()pos 인수를 사용하여 패키지 네임 스페이스를 연결할 위치를 정의 할 수 있다는 점에 유의해야 합니다 .

파이썬에서는 특정 함수 나 기능을로드 할 수 있습니다.

from x import y as z

R에서 이것을 어떻게 복제 할 수 있습니까?

예를 들어, 전체 패키지를 library(plyr) 로로드하는 대신 plyr 에서 count 함수 로드하려고합니다.


아마도 count <- plyr::count 를 할 것입니다. 그래서 나는 인수가 정확하다는 것을 보증하는 것을 count <- plyr::count 하지 않아도됩니다.

plyr가 설치되어 있지 않은 경우 if 문에 해당 정의를 래핑하고자 할 수 있습니다.

if (requireNamespace("plyr"))
    count <- plyr::count
else
    stop("plyr is not installed.")

또한 R을위한 파이썬과 같은 임포트 / 모듈 메커니즘을 제공하는 import 및 / 또는 modules 패키지에 관심이있을 수 있습니다.

또한 Writing R Extensions새로운 제네릭 추가 절 (원래 강조)에서 경고에 유의하십시오.

이 매뉴얼의 이전 버전에서는 foo.default <- base::foo 것을 제안했습니다. 이는 [패키지] 설치시 기본 기능을 캡처하고 R이 패치되거나 업데이트 될 때 변경 될 수 있으므로 이는 좋은 생각이 아닙니다 .

따라서 source 스크립트에서 정의 된 경우 count <- plyr::count 구문을 사용하는 것이 좋지만 새 함수를 명시 적으로 정의하고 패키지에서이 작업을 수행 할 경우 모든 인수를 지정해야합니다.


이 질문을 우연히 만난 동일한 기능을 찾고 위에서 설명한 접근 방식을 사용하여 아이디어를 일반화하는 빠른 기능을 작성했습니다. 나는이 질문을 미래에 접하게 될 사람을 위해 여기에 게시하고 싶었다.

import <- function(pkg, f) {
  if (pkg %in% installed.packages()) {
    assign(f, eval(parse(text = paste(pkg, "::", f, sep = ""))), envir = .GlobalEnv)
  } else {
    stop(paste(pkg, "is not installed."))
  }
}

from plyr import count as count 는 다음과 같이 보일 수있다 :

count <- function(x) {
    plyr::count(x)
}

쉽게 한:

count <- plyr::count

더 완벽한 :

if (requireNamespace("plyr")) 
    count <- plyr::count

편집하다:

나는 @ eipi10의 코멘트에서 영감을 얻었다. 나는 몰랐다. ::
@ Joshua Ulrich에게 제안 해 주셔서 감사합니다!





r