返回for()循环的值,就像它是R中的函数一样
我在返回for()循环的值,就像它是R中的函数一样,r,for-loop,apache-nifi,R,For Loop,Apache Nifi,我在R脚本中有一个for循环: url <- "https://example.com" page <- html_session(url, config(ssl_verifypeer = FALSE)) links <- page %>% html_nodes("td") %>% html_nodes("tr") %>% html_nodes("a") %>% html_attr("href") base_names <
R
脚本中有一个for
循环:
url <- "https://example.com"
page <- html_session(url, config(ssl_verifypeer = FALSE))
links <- page %>%
html_nodes("td") %>%
html_nodes("tr") %>%
html_nodes("a") %>%
html_attr("href")
base_names <- page %>%
html_nodes("td") %>%
html_nodes("tr") %>%
html_nodes("a") %>%
html_attr("href") %>%
basename()
for(i in 1:length(links)) {
site <- html_session(URLencode(
paste0("https://example.com", links[i])),
config(ssl_verifypeer = FALSE))
writeBin(site$response$content, base_names[i])
}
url%
html_节点(“a”)%>%
html_attr(“href”)
基本名称%
html_节点(“td”)%>%
html_节点(“tr”)%>%
html_节点(“a”)%>%
html_attr(“href”)%%>%
basename()
用于(i/1:长度(链接)){
站点如果您的目的是(1)保存输出(使用writeBin
)和返回值(在列表中),请尝试以下操作:
out如果您的目的是(1)保存输出(使用writeBin
)和返回值(在列表中),请尝试以下操作:
out而不是for
循环,你可以使用out-Woops,修复了名称错误@r2evans,我的错。bn
在你的评论中指的是什么?bn
是我在匿名函数中用作第二个参数的任意名称;Map
“zips”将links
和base_name
的成对元素组合在一起,分别将第一个元素分配给函数中的link
和bn
。如果lappy(links,function(link){…})
只与链接一起工作,那么映射(function(link,bn){…},links,base_name)
与这两者是等价的。因此Map(myfunc,links,base_name)
展开到myfunc(links[1],base_name[1])
,然后myfunc(links[2],base_name[2])
等Map
始终返回一个列表,而mappy
可能返回一个向量(类似于lappy
-vs-sapply
)。我正在尝试修改您的第一条评论(顺便说一句,感谢您的逻辑)。我想我应该去掉分号?为这个愚蠢的问题道歉。我对Map
不太熟悉。很难用注释格式来描述。如果你想输入答案,那会很有帮助,而不是for
循环,你可以使用out-Woops,修复名称错误@r2evans,我的坏。Wbn
在您的评论中指的是什么?bn
是我在匿名函数中用作第二个参数的任意名称;Map
“zips”将links
和base_name
的成对元素组合在一起,分别将第一个元素分配给函数中的link
和bn
。如果lappy(links,function(link){…})
只与链接一起工作,那么映射(function(link,bn){…},links,base_name)
与这两者是等价的。因此Map(myfunc,links,base_name)
展开到myfunc(links[1],base_name[1])
,然后myfunc(links[2],base_name[2])
等Map
始终返回一个列表,而mappy
可能返回一个向量(类似于lappy
-vs-sapply
)。我正在尝试修改您的第一条评论(顺便说一句,感谢您的逻辑)。我想我应该去掉分号?为这个愚蠢的问题道歉。我对Map
不太熟悉。很难想象注释格式。如果你想输入答案,那将很有帮助。在这种情况下,在最后一个站点$response$content
之前返回。否则,我认为is是一个很好的展示使用什么而不是循环的窗口。我在哪里可以给你送啤酒?return
在这里暗示…如果你愿意,可以使用return(site$response$content)
。如果它返回一堆数字,而不是文档(scraping.txt
文件),这是错误的吗?(我真的会给你寄啤酒钱,我感谢你的耐心)返回值与writeBin
创建的文件不同吗?实际上已经计算出来了…它是在容器内的随机NiFi目录中转储文件(只能通过终端看到).我所做的并不理想…但是客户想要…所以在最后一次site$response$content
之前,你不知道return
在这种情况下?否则,我认为这是一个很好的展示,展示了使用什么而不是循环。我可以在哪里给你送啤酒?return
在这里暗示…使用return(site$response$content)
如果你愿意的话..如果它返回一堆数字,而不是文档(刮取.txt
文件),那是错的吗?(我真的会给你寄啤酒钱,我感谢你的耐心)返回值是否与由writeBin
创建的文件不同?实际上已经计算出来了…它将文件转储到容器内的随机NiFi目录中(只能通过终端看到)。我所做的并不理想…但客户希望…所以你知道