2016-08-03 9 views
0

여기 멍청한 놈. "xmove1", "xmove2"및 "xmove3"값을 필터 명령에 전달하려고합니다.R - 변수의 값을 인수로 전달하는 방법은 무엇입니까?

xmove1 <- "X3" 
xmove2 <- "X1" 
xmove3 <- "X5" 

xtemp <- filter(fullTable, xmove1 == 1, xmove2 == 2, xmove3 == 3) 

문제는 대신 xmove1의 값을 읽는, 그것은 문자열로 읽는 것으로 보인다이다 -. "xmove1"

"as.name"도 사용하려고했지만 그 결과는 같습니다.

xtemp <- filter(fullTable, as.name(xmove1) == 1, as.name(xmove2) == 2, as.name(xmove3) == 3) 
+0

당신이 예상되는 출력의 예를 보여줄 수있다? 테이블 전체가 뭐지? – DataTx

+0

dplyr은 (풍자 검출) –

+0

@DigitalTx로 프로그래밍하기에 너무 재미 있습니다.이 필터는 362880 개 개체가있는 행렬에서 패턴의 여러 순열을 검색하므로 출력의 특정 예가 어렵습니다. 현재 출력은 빈 데이터 프레임 일 뿐이므로 해당 데이터 프레임을 채울 수있는 모든 대답이 정답 일 수 있습니다. – user2533660

답변

1

동적, 열 이름을 공급 dplyr 기능의 표준 평가 대안을 사용하려는 경우 (자세한 내용은 vignette("nse") 참조).

당신은

filter_(fullTable, .dots=list(
    bquote(.(as.name(xmove1)) == 1), 
    bquote(.(as.name(xmove2)) == 2), 
    bquote(.(as.name(xmove3)) == 3))) 
관련 문제