受網(wǎng)上帖子啟發(fā)稼锅,想想自己用R語言就是不斷跑代碼,糾正error羞延,我也記錄一下我在用R時(shí)遇到的錯(cuò)誤洁仗。
1.R語言填坑記2:Error in make.names(vnames, unique = TRUE) : invalid multibyte string 1
出現(xiàn)這個(gè)問題是因?yàn)閑xcel文件的編碼方式與讀取時(shí)的編碼方式不統(tǒng)一造成的。
解決方法:
在excel保存文件的時(shí)候缕棵,選擇UTF-8格式孵班。
在R中讀取的時(shí)候,指定編碼類型為UTF-8招驴。
關(guān)于讀取excel文件篙程,有兩個(gè)細(xì)節(jié):
1、雙引號(hào) “”?內(nèi)的文件地址别厘,必須用\\虱饿,單斜杠是轉(zhuǎn)義符;
2触趴、讀取指定表的內(nèi)容氮发,可以通過下標(biāo)索引,也可以通過表的名稱冗懦。即 sheetIndex?或者?sheetName 爽冕,前者參數(shù)為純數(shù)字,后者是字符串披蕉;
3颈畸、print輸出內(nèi)容的時(shí)候乌奇,如果rstudio命令窗口比較小,會(huì)把后面的列依次換行的眯娱。
----------------
> sheet2 = read.xlsx("d:\\_tmp\\Book1.xlsx", sheetName = "Sheet2"? )
Error in make.names(vnames, unique = TRUE) : invalid multibyte string 1
>?
> sheet2 = read.xlsx("d:\\_tmp\\Book1.xlsx", sheetName = "Sheet2" , encoding = "UTF-8")
> print(sheet2)
但是用他這個(gè)辦法沒解決.....原因是我具體的錯(cuò)誤代碼是error in make.names(vnames,unique=true):invalid multibyte string3
和解決問題給的代碼不一樣礁苗。
最后我的解決辦法是將文件xls格式改成CSV格式,這樣就很麻煩了困乒,我用文件讀文件寂屏,老師要不停地將csv改成功xlsx贰谣,或者反過來娜搂,很啰嗦,也很容易出錯(cuò)吱抚,所以我最好找個(gè)辦法解決一下百宇,要使用數(shù)據(jù)的文件統(tǒng)一一下。
2.error in match.arg(method):arg must be of length 1
想要用knn填補(bǔ)缺失值秘豹,但是運(yùn)行半天只反饋回來這個(gè)結(jié)果携御,簡單查了下,沒有現(xiàn)成解決辦法既绕,先只用簡單的插補(bǔ)平均值的方法處理缺失值吧