제 작품에서는 종종 변수 목록을 단 하나의 문자 벡터로 참조합니다. 이 미래의 응용 프로그램에 대한 변수의 약간 다른 목록에 내 코드를보다 강력하게로data.table 및 문자 벡터
A <- data.table(var1 = 1:10, var2 = 11:20, var3 = 21:30)
vecvar <- c("var1", "var2", "var3")
이 가능하다면, 나는 vecvar
를 사용하는 대신 변수를 열거합니다.
나는 최근에 data.table
을 발견했으며, 구문과 효율성 향상의 일반적인 우아함만큼이나 위에 열거 된 내 성향과 약간 충돌합니다. 사실 A[, vecvar]
은 작동하지 않습니다.
이 문제를 해결하는 가장 좋은 방법은 아직 결정되지 않았습니다.
A[, vecvar, with=F]
이 작동하지만 항상 편리하지는 않습니다 (예 : A[, list(vecvar, var1+var2), with=F]
).
A[, sapply(vecvar, get)]
은 작동하지 않지만, A[, sapply(vecvar, function(x) get(x))]
이됩니다.
나는 그것을 처리 할 방법이 있기 때문에 붙어 있지 않습니다. 단지 나쁜 습관을 픽업하기 전에 이것이 가장 좋은 방법이 무엇인지 알고 싶습니다.
안녕하세요 - 답장을 보내 주셔서 감사합니다.이 의견에 늦어서 죄송합니다. 예, quote() - ed 표현식이 도움이 될 수 있습니다. 그러나 문자 벡터와 data.table에서 사용할 수있는 quote() 표현식 사이에 만들 수 없었던 다리가 없습니다. 나는 이것이 가능하다고 생각하고있다. 그렇다면 실제로 내 문제를 해결할 것입니다! – crayola
아마도 ... 구문 분석 (텍스트 = ...). –
@crayola와 똑같은 문제가 있습니다. 불행히도 나는 charater 벡터와 따옴표 사이의 부류를 볼 수 없습니다. 파싱 (텍스트 =) 나를 도와주지 않아. 누구든지 최소한의 예를 도울 수 있습니까? –