사람은 말해 줄 수 함수 내에서 생성 된 세 개의 데이터 프레임이 있습니다.R 평가 문제가
aaa.df, bbb.df, ccc.df
및 예를 들어 '모드'파라미터 (함수에서 복귀 데이터 프레임이 경우이다) AAA/BBB/CCC는
다음 두 라이너 내가 순수 이들 두 줄 응축하려고하지만 때 미세
eval(parse(text=paste("output.df<-",mode,".df", sep="")))
return(output.df)
작동 약간의 간결함을 추가하여 중간 할당을 output.df로 제거하고 데이터 프레임을 출력하지 않습니다.
예 :
eval(parse(text=paste("return(",mode,".df)", sep="")))
은 내가 돌아 매우 큰 데이터 프레임으로 끝날 때까지 나있는 시점에서 내가 어떤 성능/메모리 히트가있을 수 가정, 첫 번째 방법을 계속하기 위해 큰 문제가되지 않습니다.
문제를 다시 만들 수 있도록 충분한 정보를 제공하지 않았기 때문에 말하기가 어렵습니다. 그러나 당신은 당신의 전체적인 표정에 괄호를 넣으려고 했습니까? '(eval (구문 분석 (텍스트 = 붙여 넣기 ("반환 (", 모드, "df)", sep = "")))' – Jake
그 tbh 시도하지 않았다. 나는 (지금은 자신감이 없다고 제안 했음에도) 전체 식을 괄호 안에 싸는 것은 코드 실행에 전혀 영향을 미치지 않을 것이라고 생각했을 것입니다. 그러나 여기에 내가 놓친 R 구문의 한면이있을 것입니다 ... – Pascoe
함수에서 반환 할 data.frame을 선택하는 확실한 방법이 있습니다. 'eval (parse())'는 보통 R 코드에서 나쁜 생각입니다. 간단한 'get()'이라도 아마 여기에서 더 나을 것입니다. – MrFlick