R 列名中的符号
我成功地为我想要做出的预测生成了一组功能,但我停止了尝试应用该模型,因为我的列名中有一些特殊的字符,如:R 列名中的符号,r,prediction,glm,R,Prediction,Glm,我成功地为我想要做出的预测生成了一组功能,但我停止了尝试应用该模型,因为我的列名中有一些特殊的字符,如: [28] "Ajakirjandus" [29] "Aksessuaarid" [30] "Autokaubad" [31] "Beebid" [32] "Beebikaubad" [33] "Gurmeetooted" [34] "Heategevuskaubad" [35] "Hoidised" [36] "Hügieen" [37] "Jäätised" [38]
[28] "Ajakirjandus"
[29] "Aksessuaarid"
[30] "Autokaubad"
[31] "Beebid"
[32] "Beebikaubad"
[33] "Gurmeetooted"
[34] "Heategevuskaubad"
[35] "Hoidised"
[36] "Hügieen"
[37] "Jäätised"
[38] "Jalatsid"
[39] "Jalatsid (realisatsioon)"
[40] "Joogid"
[41] "Juuksehooldus"
[42] "Juustud"
[43] "Kalatooted"
[44] "Kange alkohol"
[45] "Kantselei"
[46] "Kastmed"
[47] "Kiirtoit"
[48] "Kirjandus"
[49] "Kodusisustus"
[50] "Kohv, tee, kakao"
[51] "Kondiitritooted"
[52] "Kuivained"
[53] "Külmutatud tooted"
[54] "Küpsised ja näksid"
[55] "Lahja alkohol"
[56] "Laste jalatsid"
[57] "Laste jalatsid (realisatsioon)"
[58] "Laste sokid, pesu"
[59] "Laste valmisriided"
[60] "Leib, sai"
[61] "Lemmikloomakaubad"
[62] "Liha"
[63] "Liha (Shop in Shop)"
[64] "Lihatooted"
[65] "Lõhnad ja higistamisvastased vahendid"
[66] "Maailma köögid"
[67] "Maitseained"
[68] "Maiustused"
[69] "Mängud"
[70] "Meedia"
[71] "Meikimine"
[72] "Munad"
[73] "Näo ja kehahooldus"
[74] "Pesemise keskkond"
[75] "Piimatooted"
[76] "Piim (realisatsioon)"
[77] "Pühade ja tähtpäevakaunistused"
[78] "Puhastus- ja hooldusvahendid"
[79] "Puhvet"
[80] "Puu-ja köögivili"
[81] "Rasvad"
[82] "Riided"
[83] "Rõivaste ja jalatsite hooldus ning hoidmine"
[84] "Säilitamine ja hoidistamine"
[85] "Selveri kile- ja paberkotid"
[86] "Selveri Küpsetuspunkt (pagarid)"
[87] "Sokid/pesu"
[88] "Söömine ja joomine"
[89] "Sportimine"
[90] "Taara"
[91] "Taimekasvatus"
[92] "Teenuste müük"
[93] "Teenuste vahendamine"
[94] "Tehnika"
[95] "Tekstiil"
[96] "Tervisekaubad"
[97] "Toidu valmistamine"
[98] "Tualett- ja majapidamispaberid"
[99] "Tubakatooted"
[100] "Vabas õhus olemine"
[101] "Valmistoidud"
[102] "Valmistoidud (Shop in Shop)"
[103] "Värske kala"
[104] "Värske kala (Shop in Shop)"
当我尝试在其上运行模型时,使用:
> model<-glm(gg3$kltype ~ gg3$Puu-ja köögivili, data = gg3 , family = 'binomial')
Error: unexpected symbol in "model<-glm(gg3$kltype ~ gg3$Puu-ja köögivili"
> model<-glm(kltype ~ ., data = gg3 , family = 'binomial')
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
>此部件的型号:
> model<-glm(gg3$kltype ~ gg3$Puu-ja köögivili, data = gg3 , family = 'binomial')
Error: unexpected symbol in "model<-glm(gg3$kltype ~ gg3$Puu-ja köögivili"
您无法使用$operator访问它:
mtcars$test name
但您可以使用[[运算符]和列名作为字符串:
mtcars[['test name']]
编辑
在许多列上调用glm
更像是函数编程和apply
函数族的主题。下面是一个快速示例,使用mtcars
和lm
:
# input is a named vector
cols <- colnames(mtcars); names(cols) <- cols
# regress mpg against every column in cols, store output in list
regs <- lapply(
cols,
function(x) lm(mtcars[['mpg']] ~ mtcars[[x]], data = mtcars)
)
# view two elements of output
regs[['disp']]
regs[['wt']]
#输入是一个命名向量
cols感谢这确实有效并解决了这个问题。但是,正如前面提到的,共有104列。那么,有没有一种较短的方法将这些名称输入glm?按名称键入所有这些值并不理想。但是,使用列编号应该很容易。但感谢您的帮助!:)@Prashanth我编辑了这篇文章,以包含一个示例。我建议您查看Hadley Wickham的高级R书中的函数编程部分。谢谢你的帮助。我会在书中找到更多的细节。
# input is a named vector
cols <- colnames(mtcars); names(cols) <- cols
# regress mpg against every column in cols, store output in list
regs <- lapply(
cols,
function(x) lm(mtcars[['mpg']] ~ mtcars[[x]], data = mtcars)
)
# view two elements of output
regs[['disp']]
regs[['wt']]