eval函数中的R错误
Posted
技术标签:
【中文标题】eval函数中的R错误【英文标题】:R error in eval Function 【发布时间】:2014-09-10 15:23:42 【问题描述】:大家好,我正在尝试在 R 中创建一个函数来清理数据...以下代码是其中的一部分。
limpio=function (tabla, campo, campo_conteo)
tabla1<-aggregate(campo_conteo ~ campo, tabla, length)
colnames(tabla1)[2]<-"frecuencia"
tabla2 <- gsub('\\s+','',toupper(tabla1$campo))
View(tabla2)
所以,当我跑步时:
limpio(vendidos, Nacionality, CustomerID)
我收到以下错误:
eval 中的错误(expr、envir、enclos):找不到对象“CustomerID”
但是列确实存在,所以不知道是什么问题。
colnames(vendidos)
#[1] "ID" "CampaignID" "CustomerID" "PhoneID" "Name"
#[6] "NumberType" "Number" "Birthday" "Sex" "Holder"
#[11] "HolderNumber" "Nacionality" "Address" "City" "Zip"
【问题讨论】:
我会尝试 limpo(vendidos, Nacionality, vendidos[,2])。根据您提供的信息,您的餐桌上似乎没有任何民族性。 我有,我只展示了部分栏目。 您对上面建议的方法有任何错误吗? 【参考方案1】:您不能像这样创建公式对象。您需要将字符传递给函数并从中创建公式:
limpio <- function (tabla, campo, campo_conteo)
f <- as.formula(paste(campo_conteo, campo, sep="~"))
tabla1<-aggregate(f, tabla, length)
colnames(tabla1)[2]<-"frecuencia"
gsub('\\s+','',toupper(tabla1$campo))
limpio(vendidos, "Nacionality", "CustomerID")
或者,您可以使用非公式aggregate
方法。
【讨论】:
使用您的代码,我收到以下错误:错误:“gsub('\\s+','',toupper(tabla1$campo)) "中的意外'' 我添加了缺少的括号。如果您不提供可重现的测试示例,就会发生这种情况。你可以自己修正错别字。 对不起,我没看到。以上是关于eval函数中的R错误的主要内容,如果未能解决你的问题,请参考以下文章
ESLintPlugin TS 和 JS 混合:parent.eval 中的错误不是函数