lapply 中的多行语法
multiple lines of syntax inside lapply
如何在 lapply 中指定多行语法。我的语法也没有替换第一行中的 text_query。提前谢谢你。
text_query<-lapply(text_query, function(x) { gsub("ABC", "ABD", x, fixed=TRUE) gsub("JKL", "JKM", x, fixed=TRUE) } )
R 不关心一个操作中的新行,所以你可以只写:
text_query <- lapply(text_query, function(x) {
gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", x, fixed=TRUE)
})
或者,如果你想把它放在一行中,你可以用分号分隔语句,即
text_query<-lapply(text_query, function(x) { gsub("ABC", "ABD", x, fixed=TRUE); gsub("JKL", "JKM", x, fixed=TRUE) } )
我认为第一个选项更难以理解,虽然^^
Jean,lapply
接受你的第二个参数作为 lambda
或匿名/未命名函数。
两个示例都使用 text_query <- "ABC JKL"
作为示例数据,并使用 return list('ABD JKM')
作为结果。
版本一:
text_query <- lapply(text_query, function(x) {
x <- gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", x, fixed=TRUE)
})
text_query
版本二,将您的 lambda
替换为命名函数 mySub
:
mySub <- function(string) {
string <- gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", string, fixed=TRUE)
}
text_query <- lapply(text_query, mySub)
text_query
请注意,两者都假设您希望将两个 gsub
调用应用于您提供的参数。
如何在 lapply 中指定多行语法。我的语法也没有替换第一行中的 text_query。提前谢谢你。
text_query<-lapply(text_query, function(x) { gsub("ABC", "ABD", x, fixed=TRUE) gsub("JKL", "JKM", x, fixed=TRUE) } )
R 不关心一个操作中的新行,所以你可以只写:
text_query <- lapply(text_query, function(x) {
gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", x, fixed=TRUE)
})
或者,如果你想把它放在一行中,你可以用分号分隔语句,即
text_query<-lapply(text_query, function(x) { gsub("ABC", "ABD", x, fixed=TRUE); gsub("JKL", "JKM", x, fixed=TRUE) } )
我认为第一个选项更难以理解,虽然^^
Jean,lapply
接受你的第二个参数作为 lambda
或匿名/未命名函数。
两个示例都使用 text_query <- "ABC JKL"
作为示例数据,并使用 return list('ABD JKM')
作为结果。
版本一:
text_query <- lapply(text_query, function(x) {
x <- gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", x, fixed=TRUE)
})
text_query
版本二,将您的 lambda
替换为命名函数 mySub
:
mySub <- function(string) {
string <- gsub("ABC", "ABD", x, fixed=TRUE)
gsub("JKL", "JKM", string, fixed=TRUE)
}
text_query <- lapply(text_query, mySub)
text_query
请注意,两者都假设您希望将两个 gsub
调用应用于您提供的参数。