在R中的公式中使用具有特殊字符的列

Con*_*nor 6 r special-characters

我正在尝试使用具有~200列的数据帧使用rpart创建决策树.其中一些列的名称中包含数字,有些具有特殊字符(例如"/").当我尝试生成树时,我收到如下错误:

R> gg.rpart <- rpart(nospecialchar ~ Special/char, data=temp, method="class")
Error in eval(expr, envir, enclos) : object 'Special' not found
R> gg.rpart <- rpart(nospecialchar ~ "Special/char", data=temp, method="class")
Error in terms.formula(formula, data = data) : invalid model formula in ExtractVars
R> gg.rpart <- rpart(nospecialchar ~ `Special/char`, data=temp, method="class")
Error in `[.data.frame`(frame, predictors) : undefined columns selected
Run Code Online (Sandbox Code Playgroud)

我是否必须更改名称以容纳R或是否有某种方法将带有特殊字符的列名传递给R公式?

Woj*_*ala 6

这有效:

dat <- data.frame(M=rnorm(10),'A/B'=1:10,check.names=F)

> lm(M~`A/B`,dat)

Call:
lm(formula = M ~ `A/B`, data = dat)

Coefficients:
(Intercept)        `A/B`  
    -1.0494       0.1214  
Run Code Online (Sandbox Code Playgroud)


Con*_*nor 3

Joran对我的问题的评论就是答案 - 我不知道 make.names() 的存在

乔兰,如果你回复作为答案,我会将你标记为正确。干杯!