>

데이터 프레임과 변수 generic을 참조하는 방법을 알고 싶습니다. 's'라는 데이터 프레임과 'Y'라는 데이터 프레임에 변수가 있다고 가정하십시오.

정규 R 코드 :

look = s$Y

내가하고 싶은 일 :

data = s
variable = Y
look = data$variable (which functions the same as look = s$Y)

어떤 생각? 내가 이것을하고 싶은 이유는 내가 s$Y 를했기 때문입니다  내 코드 전체에서 나중에 s 를 변경하고 싶을 수도 있습니다.   t 를 위해  (또는 Y  다른 변수의 경우), s$Y 를 수동으로 대체하여 모든 코드를 거치지 않아도됩니다.   t$Y 와 함께  내가 필요한 곳이 바뀌 었어.

감사합니다!

  • 답변 # 1

    이것이 $ 인 이유 -operator는 함수 정의 내부의 실습이 좋지 않은 것으로 간주됩니다. 즉, 열 이름의 특정 철자를 "잠 그게"됩니다. 그러나이 작업을 수행하지 않을 것입니다 :

    variable = Y
    
    

    대신이 작업을 수행하려고합니다 :

    variable = "Y"
    
    
    그것은 첫 번째 버전이 R- 인터프리터가 나가서 Y 심볼의 값을 식별하려고 시도했기 때문입니다.  코드가 시작된 이후로 호출되어 여전히 처리되고있는 모든 기능과 값을 대략적으로 말하는 "검색 경로"라고 알려진 곳. 두 번째 버전의 경우 "Y"는 자체 값이며 추가 검색이 필요하지 않습니다. 근본적인 올바른 말로 이제 당신은 이것을 할 것입니다

    look <- data[[ variable ]]  # although using 'data' as a name is another "poor-practice"
    
    
    R은 variable 의 값을 찾습니다  전역 환경에서 찾은 다음 문자 "Y"를 리턴하고 데이터 세트 s 에서 "Y"라는 열을 전달하십시오. . 열 이름은 R에서 일류 객체로 간주되지 않지만 명명 된 데이터 프레임은 있습니다. 열의 "이름"이 사실이 아닙니다. R names . 와이즈 비즈 -operator는 문자 값이있는 "[["의 줄임말입니다. 이것을 시험하는 완전한 사본이 있습니다 :

    $
    
    

    R의이 "표준 평가"기능으로 인해 새로운 사용자가 생겼다는 혼란이 처음으로 ggplot > s <- data.frame(Y=1:10, X=LETTERS[1:10]); data = s > > variable <- "Y" > > look1 <- data$Y; look2 <- data[["Y"]] > identical(look1, look2) [1] TRUE 를 만드는 동기 중 하나 인 것으로 보입니다.  기능과 나중에 패키지- aes 의 진화  그리고 dplyr 패키지 묶음. 이러한 패키지는 인용되지 않은 이름이나 토큰을 사용하여 열 ID를 참조 할 수 있습니다.

  • 답변 # 2

    @ 42-의 답변 외에도 다음과 같이 열을 동적으로 참조 할 수 있습니다.

    tidyverse
    
    

    편집 : data.frames를 동적으로 참조하는 것에 대해서도 질문 했으므로 @Rich Scriven은 data.frame을 인수로 사용하는 함수를 만드는 것이 좋습니다. 스크립트 상단에 필요한 데이터를로드 할 수도 있습니다. 필요한 경우 즉시 변경할 수 있습니다.

    colName <- "something"
    myDataFrame[,colname]
    
    

  • 답변 # 3

    위의 -42에 따라 가장 좋은 선택은 참조 된 패키지 인 것 같습니다. 함수를 사용하는 것은 가깝지만 'data $variable'에서 'data'및 'variable'을 일반으로 허용하지 않는 것 같습니다.

    모두 감사합니다!

    fileName <- "file1.csv" data <- read.table(fileName, header = TRUE, stringsAsFactors = FALSE)

  • 이전 배열이있는 문서 속성에 대한 Couchdb/Cloudant보기
  • 다음 트위터 API 및 사용자 정보 얻기 PHP