I need to update lists elements programmatically looping through the lists names in R.
Is there a way to do that using some sort of Non-Standard Evaluation or another method?
Pseudo-code of a minimum example:
x = list(a=1)
y = list(a=3)
for(i in c("x", "y")){
i[["a"]] <- 10
}
Expected results:
x[["a"]] == 10
y[["a"]] == 10
Edit: I found this way to update the values directly without making a copy of the lists via get(i)
:
x = list(a=1)
y = list(a=3)
.env = pryr::where("x")
for(i in c("x", "y")){
.env [[ i ]] [[ "a" ]] <- 10
}