으로 덧붙임 올바른 형식으로 사전을 만들 수없는 문제가 있습니다. 내가 가질 수 있도록 내가 다음 사전에 TSI를 요소를 추가 할중첩 된 사전에 R
mylist[[index]] <- list("TSI" <- list(), "type"=mytype)
: 나는 예를 들어 내가 가질 수 있도록 최초의 중첩 된 목록 요소에 추가 할
mylist[[index]][["TSI"]] <- list(mylist[[index]][["TSI"]], key=value)
하지만 난
mylist[[index]][["TSI"]] <- list(mylist[[index]][["TSI"]], '2'=200)
mylist[[index]][["TSI"]] <- list(mylist[[index]][["TSI"]], '3'=300)
는 내가이 작업을 수행 할 때, 나는 목록과 내가 하나 개의 값을 포함한다 구축을 위해 노력하고있어 사전/목록을하지 않는 것을 발견이, 즉 일을 계속하는 경우.
내가 루프에있는 다음 시도 대답에 제안으로:
이# type is some kind of string i.e. "3"
# myTSI is a value i.e. 400
# index is a value i.e. 1
mylist[[index]][["TSI"]] <- c(mylist[[index]][["TSI"]], type=myTSI)
인덱스가이 경우에 변경되지 않습니다,하지만 형, 너무 이상적으로하는 일련의 항목을 구축해야한다 않습니다 mylist[[index]][["TSI"]]
여기서 mylist[[index]][["TSI"]][["6"]]
은 해당 유형의 myTSI를 제공합니다. 입력 할 때 그러나 루프를 종료에 따라, 난 그냥 얻을 :
mylist[[index]][["TSI"]]
을 나는
type
"648746"
하지만 사전 목록 다음 얻는다. 내가 할 경우 루프에서 다음 있기 때문에 어떤이, 홀수 :
mylist[[index]][["TSI"]] <- c(mylist[[index]][["TSI"]], "3"=100)
mylist[[index]][["TSI"]] <- c(mylist[[index]][["TSI"]], "4"=400)
mylist[[index]][["TSI"]]
인쇄 내가 얻을
3 4
100 400
이 경우 이유를 작동 할 수 없습니다.
l = c(l, list(key=value))
이 두 개의 목록을 concatinate됩니다
요소는
mylist
복사 방지 이런 식으로하고 중첩 된 목록 때마다 : 가장 좋은 방법은 다음과 같은 라인을 따라입니다 첫 번째 명령에서. 그것은 "TSI"라는 이름의 목록 엔트리를 생성하지 않고 빈리스트를 심볼 "TSI"에 바인드하고 그 빈리스트는 mylist [[index]]의 첫 번째 (이름이없는!) 엔트리가된다. 그런 다음 나중에'mylist [[index]] [[ "TSI"]]'에 접근하려고 시도하면 목록에있는 항목이 존재하지 않으므로'NULL' 객체를 반환합니다. 그러면' 첫 번째 줄에'mylist [[index]] <- list ("TSI"= list(), "type"= "mytype")'를 쓰면 코드가 의도 한대로 작동합니다. – fabians
@ Navonod 두 번 같은 질문을하지 마십시오. 필요한 경우 질문을 편집 할 수 있습니다.이 질문에 대한 답변이 있으니 이전 버전을 닫으 려구요. http://stackoverflow.com/q/22193805/134830 –
@RichieCotton, 다른 하나를 삭제하려고 시도 했어야합니다. 동의했다. 감사. – disruptive