2016-07-20 10 views
0

내 질문은 How to add variable key/value pair to list object?과 비슷합니다. 변수의 값에 따라 목록 요소에 가변 이름을 지정하려고합니다. 하지만 의 이름을으로 바꾸고 싶지는 않지만 정확히 이라는 이름으로 (예 : 하나의 라이너가 필요함)에서 "The evil trio (eval, parse, paste)"을 올바르게 입력해야합니다.eval (parse (paste())없이 초기화시 변경 가능한 이름 목록 요소

방법 list 작품의 "문제"입니다

key <- "width" 
my_list <- list(key = 32) 

이름 요소 (당연하게도) "key"하지 "width", key <- "width" 하나가 my_list <- list(width = 32) 같은 결과를 열망 경우에도 마찬가지입니다.

"악의를 가진 트리오 솔루션"은 my_list <- eval(parse(text = paste("list(", key, "=32)")))이지만, list(eval(key) = 32) (작동하지 않음)과 같은 좀 더 세련된 솔루션을 찾고 있습니다.

+0

질문에 링크 된 [Q & A] (http://stackoverflow.com/a/31298923/3521006) 이미 있으므로 내 대답을 삭제했습니다. 이모, 최선의 선택입니다. –

+0

@docendodiscimus 일반적으로 저는 여러분과 동의합니다. 그러나 불행히도이 멋진 대답은 (내 upvote로) 단 3 표 밖에 없으며 적절한 답으로 인식하기가 쉽지 않습니다. (Assad Ebrahim이 "해시 "그의 코드는 OP의 코드를 사용하지 않습니다). 그러니 자유롭게 답을 다시 게시하십시오 (당연히 제 대답을 삭제할 것입니다). – Qaswed

답변

1

사용자 docendo discimus은 대답이 setNames(list(32), key)이지만 "질문에 이미 연결된 given in the Q&A이므로 [대답]이 삭제되었습니다."

불행히도이 좋은 대답은 (내 upvote와 함께) 단 3 표이며 적절한 대답으로 인식하는 것은 쉽지 않습니다. (Assad Ebrahim이 "해시"에 대해 말한 것처럼 그의 코드는에서 코드를 사용하지 않습니다. OP).