〜(代字号)在R中不起作用

时间:2017-07-28 22:30:36

标签: r

我正在尝试在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”

)中的意外符号

1 个答案:

答案 0 :(得分:8)

这实际上与代字号运算符无关。意外符号是假定为语法无效列名的第二个单词。如果job permanency是列的名称,则需要围绕它进行反引号,因为它是非标准名称。尝试使用

train(`job permanency` ~ ., ...)

但总的来说,我建议使用标准命名约定(即没有空格)。您可以使用

将当前名称转换为语法上有效的名称
names(dataset) <- make.names(names(dataset))

job permanency将变为job.permanency,并且不再需要反引号。