列名中的符号
Symbols in Column Names
我设法为我想做的预测生成了一组特征,但停止尝试应用该模型,因为我的列名称中有一些特殊字符,例如:
[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
两者都fail.Any这里有什么错误的线索?
感谢任何帮助。
谢谢!
对于这部分:
> 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"
如果有 space,则无法使用 $
运算符访问对象。我建议使用 [[
运算符和一个字符串作为 gg3$Puu-ja köögivili
的列名称,因此您可以改用 gg3[['Puu-ja köögivili']]
。
假设您有一个名为 "test name":
的列
mtcars[['test name']] <- 1:nrow(mtcars)
print(mtcars)
您无法使用 $ 运算符访问它:
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']]
我设法为我想做的预测生成了一组特征,但停止尝试应用该模型,因为我的列名称中有一些特殊字符,例如:
[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
两者都fail.Any这里有什么错误的线索?
感谢任何帮助。
谢谢!
对于这部分:
> 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"
如果有 space,则无法使用 $
运算符访问对象。我建议使用 [[
运算符和一个字符串作为 gg3$Puu-ja köögivili
的列名称,因此您可以改用 gg3[['Puu-ja köögivili']]
。
假设您有一个名为 "test name":
的列mtcars[['test name']] <- 1:nrow(mtcars)
print(mtcars)
您无法使用 $ 运算符访问它:
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']]