【发布时间】:2021-04-27 22:45:20
【问题描述】:
我正在尝试创建一个函数,它可以传递两个参数来组成一个新的串联字符串。
我希望这个功能
fun1(apple, orange)
生产:
apple and orange
但是,由于某种原因,当我运行此函数时,它无法找到并传递参数。
fun1 <- function(first, second){
first_str <- as.character(first)
second_str <- as.character(second)
sentence <- str_c(orig_str ," and ", dest_str)
return(sentence)
Error in fun1(apple, orange) : object 'apple' not found
如果我立即传递一个字符串,这将起作用,
fun1("apple", "orange")
[1] apple and orange
我的目的是让用户填写输入栏上的参数,并让函数将其转换为字符。因此,我不想要求用户使用 "" 并以字符串格式传递参数。有什么好的选择?
【问题讨论】:
-
一般来说最好不要设计你的函数来接受未计算的对象
fun1 <- function(first, second) paste(first, "and", second)是你所需要的,如果字符串被传递然后用户也可以轻松地传递变量:fun1("first", "second")或v1 <- "first"; v2 <- "second"; fun1(v1, v2) -
究竟什么是“输入栏”?请注意,通过这样的设置,您将只能接受可以解释为符号的单词。您将永远无法输入包含空格或连字符或其他任何内容的单词。
标签: r string function arguments