我道歉,如果这已经回答了什么地方,但我不能在任何地方找到它类似的问题。
我想创建一个函数,其中的输入参数之一可能是(但不一定),它以数字开头的字符串。 当我尝试运行该功能,R感到困惑。
例如:
foo(df, 10, 5fum)
给我的错误:
错误:意外符号“do_cv_class(数据,10,5fum”
在功能我打算采取"5fum"
,并将其解析为2个参数"5"
和"fum"
。 我并不想创建一个第四个参数分离5和FUM。
有任何想法吗? 在这个伟大的会任何帮助。
正如上述言论表明,你需要通过"5fum"
作为一个字符串。 而无需重写的r分析器,它几乎是不可能想到的一种方式, foo(df, 10, 5fum)
可能是合法的输入。 想必你想是这样的:
foo <- function(df, num1, str1) {
str1_num <- as.numeric(gsub("([0-9]+)([[:alpha:]]+)","\\1",str1))
str1_alpha <- gsub("([0-9]+)([[:alpha:]]+)","\\2",str1)
print(str1_num)
print(str1_alpha)
}
foo(df, 10, "5fum")
## [1] 5
## [1] "fum"
(我以为传递参数,就像这样~5fum
可能会奏效,因为~
防止被立即计算后续的符号,但它并不:符号5fum
仍然需要进行解析。)