r - 正则表达式无效,原因是 R 函数中的“{} 内容无效”
问题描述
我正在制作宏function
mytable
in moonBook
package 将在function
宏中使用。mytable
功能快速制作人口描述表。
fun<-function(i,j)
{
j<-mytable(i~var1+var2+var3,data=rawdata)
return(j)
}
fun(i=criteria,j=out)
然而,错误出现了。
“i”是无效的列名:而是使用“(其他值名称)”
我认为该mytable
函数无法识别宏对象,i
.
在这篇文章的帮助下(在 r 中用宏(函数)在汇总中找不到对象),我把双括号放在了i
.
但是错误又出现了。
Error in grepl(pattern, x, ignore.case = TRUE) :
invalid regular expression, reason 'Invalid contents of {}'
我试过enquo
了!!
。但错误仍然出现。
Error in which(grepl(pattern, x, ignore.case = TRUE)) :
argument to 'which' is not logical
请帮我知道是什么问题。
解决方案
基于函数,我们可能需要一个公式,它可以用paste
fun<-function(i) {
mytable(as.formula(paste0(i, " ~var1+var2+var3")),data=rawdata)
}
fun(i= "criteria")
注意:不需要“j”参数,因为我们不需要先创建对象然后再创建return
它。在中,不需要R
显式定义return
推荐阅读
- c# - 如何在没有静态方法的情况下访问单个数据库类实例的 CRUD 操作
- bitbucket - 有没有办法使用 Bitbucket API 发出问题/版本/发布请求?
- spring - Spring Boot 反应式 Web 服务
- navigation - 如何通过 blazor 中的链接导航到同一页面中的部分或段落?
- asynchronous - 任务可以在串行队列上异步执行吗?
- python - Tkinter - 如何删除按钮图片的白色背景以及一般情况
- c# - Emgu.cv DetectorParameters.GetDefault() 返回 System.AccessViolationException
- select - 使用 addInputArea 引导 SelectPicker
- python - 如何通过 lambda 函数从列表中生成 n 个连续元素?
- python - 尝试比较值时python pandas中的关键错误