tôi có một danh sách như:Tìm các chỉ mục của một phần tử trong danh sách lồng nhau?
mylist <- list(a = 1, b = list(A = 1, B = 2), c = list(C = 1, D = 3))
là có một cách (loop-free) để xác định vị trí của các yếu tố, ví dụ nếu tôi muốn thay thế một giá trị của "C" với 5, và nó không quan trọng mà các yếu tố "C" được tìm thấy, tôi có thể làm một cái gì đó như:
Aindex <- find_index("A", mylist)
mylist[Aindex] <- 5
Tôi đã thử grepl
, và trong hiện tại ví dụ: nội dung sau sẽ hoạt động:
mylist[grepl("C", mylist)][[1]][["C"]]
nhưng điều này đòi hỏi giả định mức làm tổ.
Lý do mà tôi hỏi là tôi có một danh sách sâu sắc về giá trị tham số, và một vector được đặt tên của các giá trị thay thế, và tôi muốn làm một cái gì đó giống như
replacements <- c(a = 1, C = 5)
for(i in names(replacements)){
indx <- find_index(i, mylist)
mylist[indx] <- replacements[i]
}
này là một sự thích nghi cho câu hỏi trước đây của tôi , update a node (of unknown depth) using xpath in R?, sử dụng danh sách R thay vì XML