我是R的新手,并且堆栈溢出。我已经在网上搜索过,但是找不到我的问题的答案。我想创建一个从列表中提取并替换列表中条目的循环。
(x<-list(1:5,NULL))
rpl<- function(x){
for(i in x){
if(x[[i]]==1)
x[[i]]<-25
}
}
答案 0 :(得分:1)
x<-list(1:5,NULL)
lapply(x, function(el) {
if(is.null(el)) el else {
ifelse(el %in% 1, 25, el)
}
})
#[[1]]
#[1] 25 2 3 4 5
#[[2]]
#NULL
使用lapply
处理并返回列表。
最好使用%in%
,因为==
会因缺少值而失败。