2016-12-22 3 views
1

나는 목록의 일부를 추출하여 새 변수 이름에 저장하는 반복 작업이 있습니다.R에서 반복 작업이 sapply 또는 for 루프를 사용하는 문자열 사용

나는 aaa_report <- original[["aaa"]]를 사용할 수 있으며, 나는 새로운 변수가 a를 aaa 섹션 목록 변수 이제 original

나는이 반복적 인 작업을 자동화하려는 출신 aaa_report라는 이름이 있습니다

aaa_report <- original[["aaa"]]

bbb_report <- original[["bbb"]]

ccc_report <- original[["ccc"]]

...

나는 dept <- c("aaa", "bbb", "ccc", "...")

내가 sapply를 사용하여이 오류를 얻을려고 모든 이름과 dept라는 별도의 "문자"목록 변수가 있습니다.

sapply(dept, function(x) x"_report" <- original[[x]]) 

Error: unexpected string constant in "sapply(dept, function(x) x"_report""

나는 모든 apply 가족을 시도

과 행운이있는 for loop.

for(x in dept){ 
    x"_report" <- original[[x]] 
} 

저는 초보자부터 프로그래밍까지 모든 조언이 많은 도움이 될 것입니다. 할당이 apply 함수의 지역 환경에있을 것이기 때문에 그것은의 apply 기능을 작동하지 않을 것입니다

for(x in dept) assign(paste0(x, "_report"), original[[x]]) 

:

+0

왜 목록에 그대로 두어 필요할 때 참조할까요? 이것은 더 합리적인 방법으로 보인다. 명명 된 목록을 실행하기위한 유용한 메소드에 대한 자세한 내용은 [this post] (http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames)에서 gregor의 답변을 참조하십시오. 집단. – lmo

+0

나중에 다른 방법으로 결합 된 목록을 사용하겠습니다. – adm

+0

정말로 이것을하고 싶다면 (목록에있는 항목을 유지하는 것이 가장 좋습니다)'get (paste0 (x, "_report"))' –

답변

0

당신이 가까웠다는 assign 기능을 사용하십시오.

의견에 언급 된대로 모든 것을 목록에 유지하는 것이 항상 좋습니다.

관련 문제