2017-07-28 41 views
0

我想在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) 

,我得到以下錯誤

Error: unexpected symbol in "fit.knn <- train(job permanency"

回答

8

這實際上無關與波浪線運營商。意外的符號是被推定爲語法上無效的列名稱中的第二個詞。如果job permanency是一列的名稱,則需要反引號,因爲它是非標準名稱。嘗試使用

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

但總的來說,我會建議使用標準的命名約定(即沒有空格)。您可以將當前的名稱轉換爲語法上有效的名稱與

names(dataset) <- make.names(names(dataset)) 

job permanency將成爲job.permanency,和反引號將不再需要。