我正在尝试在R中测试一些代码,但是它一直给我一个错误,即代字键(〜)是一个意外的符号?
有什么办法可以解决这个问题吗?
这是我试图运行的代码之一:
# kNN
set.seed(123)
fit.knn <- train(job permanency~., data=dataset, method="knn", metric=metric, preProc=c("permanency rate", "job skills"), trControl=control)
我收到以下错误
错误:“fit.knn&lt; - train(job permanency”
)中的意外符号
答案 0 :(得分:8)
这实际上与代字号运算符无关。意外符号是假定为语法无效列名的第二个单词。如果job permanency
是列的名称,则需要围绕它进行反引号,因为它是非标准名称。尝试使用
train(`job permanency` ~ ., ...)
但总的来说,我建议使用标准命名约定(即没有空格)。您可以使用
将当前名称转换为语法上有效的名称names(dataset) <- make.names(names(dataset))
job permanency
将变为job.permanency
,并且不再需要反引号。