중첩 된 목록이 my_list4
있습니다. names()
외부 목록 요소 중 하나를 사용하여 대부분의 내부 목록 요소 값을 변경하고 싶습니다 .
여기 있습니다 my_list4
;
my_list <- list(elem1 = 1:3, elem2 = 4:6, elem3 = 7:9)
my_list2 <- list(elem1_2 = my_list, elem2_2 = my_list, elem3_2 = my_list)
my_list3 <- list(elem1_3 = my_list2, elem2_3 = my_list2, elem3_3 = my_list2)
my_list4 <- list(Species1 = my_list3, Species2 = my_list3, Species3 = my_list3)
중첩 lapply
은 좋은 시작처럼 보입니다.
assign_value <- lapply(my_list4, FUN = function(x){
lapply(x, FUN = function(y){
lapply(y, FUN = function(z){
lapply(z, FUN = function(t){
t = NA
})
})
})
})
이것은 대부분의 내부 요소를 값으로 변경합니다 NA
. 에 설명 된대로 값을 해당하는 종 (예 : Species1, Species2, Species3)으로 변경하고 싶습니다 names(my_list4)
.
따라서, assign_value$Species1$elem1_3$elem1_2$elem1
이다 NA
,하지만 난 그게 Species1되고 싶어요. assign_value$Species2$elem1_3$elem1_2$elem1
입니다 NA
하지만 난 그게 Species2되고 싶어요.
어떻게 할 수 있습니까?
for
루프를 사용하여
assign_value <- my_list4
for(nm in names(my_list4)) {
for(nm2 in names(my_list4[[nm]])) {
for(nm3 in names(my_list4[[nm]][[nm2]])) {
assign_value[[nm]][[nm2]][[nm3]] <- nm
}
}
}
-확인 중
assign_value$Species1$elem1_3$elem1_2
#[1] "Species1"
assign_value$Species2$elem1_3$elem1_2
#[1] "Species2"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다