我在R(Shiny app)编程。
我在建模xgboost模型时遇到问题:
我有这些数据:
> data
#var1 var2 var3 y
1 1 2 3 1
2 2 3 4 0
3 3 4 7 0
4 4 6 8 1
我想用于预测的数据
> pred.data
#var1 var2 var3
1 1 2 3
2 4 6 5
3 2 4 7
4 1 3 4
我想使用xgboost,而y是目标变量,所以我首先使用稀疏模型矩阵。
loop.vars<-c("#var1","var2","var3")
myform <- as.formula(paste(" ~ ", paste(loop.vars, collapse= "+"),"-1"))
Data<-sparse.model.matrix(myform,data)
我收到错误:
Error in parse(text = x, keep.source = FALSE) :
<text>:2:0: unexpected end of input
1: ~ #var1+var2+var3 -1
^
所以我尝试添加括号
fun <- function(x) paste0("`", x, "`")
myform <- as.formula(paste(" ~ ", paste(fun(loop.vars), collapse= "+"),"-1"))
> myform
~`#var1` + var2 + var3 - 1
sparse.model.matrix(myForm的,数据)
Error: fnames == names(mf) are not all TRUE
如何在不更改列名的情况下解决此问题?
由于