【发布时间】:2016-02-25 16:23:32
【问题描述】:
我有一个简单的列表
list1<-data.frame(col1=c("text;aaa","text", "text;aaa","text"), col2=1:4)
list2<- data.frame(col1=c("text;aaa","text", "text;aaa","text", "text", "text"), col2=1:6)
mylist<-list(list1,list2)
我现在想用 for 循环将 ; 之后的所有文本子化,就像这样
list.2 <- lapply(mylist, function(x){
for(i in 1:nrow(x)){
if(grepl(";",x[i,1]) == T){
x[i,1] <- gsub(";.*", "", x[i,1])
} else x[i,1] <- x[i,1]
}
} )
但输出是NULL
list.2
[[1]]
NULL
[[2]]
NULL
我在这里错过了什么?
【问题讨论】:
标签: r list for-loop gsub lapply