-->

制定rpart包数据(Formulate data for rpart)

2019-11-01 06:19发布

连接一个列表的列名,以制备用于公式rpart

只是想以连接名称(log_data), log_data是60个载体不同的载体列表,所以我只是想在自己的格式列名,这样我可以把他们rpart包在为r的公式中.....像rpart(A ~ B + C + D + E ,log_data)所以这里我刚要提取公式= “A〜B + C + D + E”作为一个整体串,其中A,B,C,D,E是列名,我们必须从log_data提取,或者是有没有更好的方式来获得列表中的树。
我努力了,

a <- names(log_data)  
rpart(a[1] ~ a[2] + a[3] + a[4], log_data)

收到错误

Error in paste(temp, yprob[, i], sep = " ") : subscript out of bounds

哪里

a[2]

[1] "X.u.crpice..vin20f1..vol.vin20f1v1.r_credit_credshare2...91...90."

a[3]

[1] "X.u.crpice..vin20f1..vol.vin20f1v1.r_credit_credshare2...92...90."

c<-paste(a[1], "~", sep="")

rpart_formula <- as.formula(paste(c, paste(a[2:60], collapse = " + "), sep = ""))

rpart(rpart_formula,log_data)

它是在无限循环在rpart包太长列名的只是因为要去,也可以是N = 60

我可以附加任何列名colnames(log_data)< - (?)“?” C,我应该怎么放的,这样会很容易得出它对于n = 60。

Answer 1:

我相信你想

shortnames <- paste0("c",seq(ncol(log_data)))
names(log_data) <- shortnames
form <- reformulate(paste(shortnames[2:4],collapse="+"),
                    response=shortnames[1])
rpart(form,log_data) 


文章来源: Formulate data for rpart