R- 非序列列表的 For 循环
R- For loop for non-sequential list
这可能是一个简单的问题,但我正在努力寻找一种方法来完成 "for (i in 1:10){ do something}" 的等效操作,但使用字符串列表。例如:
给定字符串列表 a = ("Joe", "John", "George") 我想执行以下操作:
for (a in "Joe":"George"){
url <- paste0(http://www.website.com/", a)
readHTMLTable(url)
}
并让函数遍历名称列表并用每个名称点击 url。
谢谢
您会选择 for (i in 1:length(a)) { etc }
,但是出于速度原因,通常更喜欢应用函数。
在 paste0 函数中使用“”
a = c("Joe", "John", "George")
for (i in 1:length(a)){
url <- paste0("http://www.website.com/", a)
readHTMLTable(url)
}
lapply(a, function(x){paste0("http://www.website.com/", x)})
[[1]]
[1] "http://www.website.com/Joe"
[[2]]
[1] "http://www.website.com/John"
[[3]]
[1] "http://www.website.com/George"
sapply(a, function(x){paste0("http://www.website.com/", x)})
Joe John George
"http://www.website.com/Joe" "http://www.website.com/John" "http://www.website.com/George"
这可能是一个简单的问题,但我正在努力寻找一种方法来完成 "for (i in 1:10){ do something}" 的等效操作,但使用字符串列表。例如:
给定字符串列表 a = ("Joe", "John", "George") 我想执行以下操作:
for (a in "Joe":"George"){
url <- paste0(http://www.website.com/", a)
readHTMLTable(url)
}
并让函数遍历名称列表并用每个名称点击 url。 谢谢
您会选择 for (i in 1:length(a)) { etc }
,但是出于速度原因,通常更喜欢应用函数。
在 paste0 函数中使用“”
a = c("Joe", "John", "George")
for (i in 1:length(a)){
url <- paste0("http://www.website.com/", a)
readHTMLTable(url)
}
lapply(a, function(x){paste0("http://www.website.com/", x)})
[[1]]
[1] "http://www.website.com/Joe"
[[2]]
[1] "http://www.website.com/John"
[[3]]
[1] "http://www.website.com/George"
sapply(a, function(x){paste0("http://www.website.com/", x)})
Joe John George
"http://www.website.com/Joe" "http://www.website.com/John" "http://www.website.com/George"