如何在set_values
包中的rvest
函数中提交变量?
当我以这种方式调用函数时,我没有任何问题
actions <- set_values(form, "stream"="test")
其中&#34; stream&#34;是我的表单中的字段名称
但如果声明一个变量并使用它来调用set_values我会收到错误
temp <- "stream"
actions <- set_values(form, temp="test")
错误:未知字段名称:temp
任何帮助?
答案 0 :(得分:0)
在set_values(form, temp="test")
中,temp
用作set_values
函数的参数名称,而不是局部变量。
如果要从变量中获取参数名称,可以构建命名参数列表,并使用do.call
将其传递给函数。
temp <- "stream"
arguments <- list(form, "test")
names(arguments) <- c("form", temp)
do.call(set_values, arguments)
同样的想法,更简洁一点:
temp <- "stream"
do.call(set_values, setNames(list(form, "test"), c("form", temp)))
或者,如果您愿意,可以按位置而不是按名称匹配第一个参数:
temp <- "stream"
do.call(set_values, c(list(form), setNames("test", temp)))