lapply 함수 내부에서 목록 이름에 액세스해야합니다. 내 기능에서 각 목록 요소 이름을 가져올 수 있도록 목록의 이름을 반복해야했다 어디 내가 온라인 어떤 스레드를 발견했습니다lapply 함수에서 목록 이름 액세스 및 보존
> n = names(mylist)
> mynewlist = lapply(n, function(nameindex, mylist) { return(mylist[[nameindex]]) }, mylist)
> names(mynewlist)
NULL
> names(mynewlist) = n
문제는 mynewlist 원래 myList에 인덱스를 잃고 있다는 것입니다 및 그 마지막 이름() 과제를 추가하여 복원해야합니다.
lapply 함수가 반환 한 각 요소에 명시적인 인덱스 이름을 지정하는 방법이 있습니까? 또는 mynewlist 요소에 올바른 인덱스 이름이 설정되어 있는지 확인하는 다른 방법이 있습니까? lapply가 mylist와 같은 순서로 목록 요소를 반환하지 않으면 mynewlist 인덱스 이름이 잘못 될 수 있다고 생각합니다.
네를, 이 작품. 나는 여전히 n = names (myList)를 통해 'n'을 생성해야합니다. 이름을 두 번 호출 (myList)하고, n을 만들려면 한 번, n 개의 속성을 두 번째로 설정합니다. –
두 번째를'names (n) <- n'으로 대체 할 수 있습니다. – Aaron
@RobertKubrick 가능한 경우 더 나은 해결책을 찾기 위해 편집하십시오. 'sapply'에 대한 코드가 얼마나 단순한 지 확인하십시오. 사실 이후에 이름을 추가하는 래퍼 역할을합니다. – joran