2012-10-18 6 views
0

특정 폴더에 저장된 데이터 프레임을로드하려고합니다. 모든 *.gzip 폴더에있는 파일을 따라 반복하고 파일 이름을 R 스크립트 (blah.r $file_name) 인수로 전달하는 bash 스크립트가 있습니다. 이제 R 스크립트에서 파일 이름은변수 이름 대신 변수에 문자열로드 (R)

file_name = commandArgs(TRUE)[1] 

으로 저장되고 올바른 파일 이름이 인쇄됩니다. 그러나, 나는 R은 file_name은 아닌 문자열 변수입니다 생각, 그래서 그것이 "file_name"을 찾을 수 없다는 파일

data(file_name) 

를로드 할 때.

R이 변수를 변수로 인식하고 리터럴 문자열을 인식하지 못하게하려면 어떻게해야합니까?

+0

이것은 이전 질문과 중복되지 않습니다. 그 하나는 이름이 주어진 변수에 액세스하는 것이 었습니다. 이것은 디스크에서 데이터 세트를 읽는 것에 관한 것입니다. 따라서'get (*)'는 여기에 적용되지 않습니다. –

+0

@ 홍고이 : 대단한 잡기. 재개하도록 투표했습니다. –

+0

'data()'함수를 사용하여 R에 데이터를로드하지 않습니다. 이는 설치된 패키지에서 예제 데이터를로드하기위한 것입니다. –

답변

2

질문이 질문에 대한 답변 ....하면로드 할 데이터가 포함 된 텍스트 파일의 특성을 지정하는 추가 인수입니다

read.table(file = file_name, ....) 

의 라인을 따라입니다.

데이터가 텍스트 파일이 아닌 가능하면 바이너리 형식 인 경우 올바른 기능을 사용하여 해당 데이터를 가져와야합니다. 데이터가 다음 (save() 또는 saveRDS()를 통해) R의 형식 중 하나에 저장되어있는 경우 예를 들어, :

load(file = file_name) ## for save()-ed objects 

foo <- readRDS(file = file_name) ## for objects serialised via saveRDS() 

당신은 파일이 *.gzip입니다 언급. 그렇다면, ?connections도 같이 열 수있는 파일 이름을 포함하는 객체를 전달할 수있는 gzip() 기능을 참조하십시오

.... 다시 지정해야 할 수 있습니다 추가 인수는
gzip(file_name, ....) 

(도움말 페이지를 참조).