R語言讀取csv文件出錯的解決方案

今天在用R語言讀取.csv文件的時候報錯

Error in make.names(col.names, unique = TRUE) : invalid multibyte string 5

上網查瞭很久才知道原來是格式的問題(保存文件格式的編碼不正確)

重新保存正確的格式就沒有問題瞭~

補充:R語言讀取csv文件,第一列列名出現亂碼的解決方法

在利用R語言讀取csv文件時,第一列列名總是出現亂碼,代碼如下:

setwd(“E:\2.Model\4. Simulation”) #設定文件路徑
All.Soils = read.table(“1. Soil.csv”,sep=",",header=T) #讀取文件
xx<-colnames(All.Soils)#獲取文件中的列名
xx

結果如下:

[1] “锘緾lass” “FID” “BD1” “BD2” “BD3”
[6] “BD4” “BD5” “airdry1” “airdry2” “airdry3”
[11] “airdry4” “airdry5” “ll15_1” “ll15_2” “ll15_3”
[16] “ll15_4” “ll15_5” “CLL1” “CLL2” “CLL3”
[21] “CLL4” “CLL5” “dul1” “dul2” “dul3”
[26] “dul4” “dul5” “sat1” “sat2” “sat3”
[31] “sat4” “sat5”

後來找到瞭原因,是因為將excel文件另存為csv文件造成的。

應該在excl中按照如下操作完成:

第一步:

點擊“file”,即“文件”;

第二步:

點擊“export”,即“導出”;

第三步:

點擊“Change File Type”,即“改變文件格式”,選擇”CSV”,進行導出即可;

之後再次運行代碼,亂碼不見瞭,結果如下:

[1] “Class” “FID” “BD1” “BD2” “BD3” “BD4”
[7] “BD5” “airdry1” “airdry2” “airdry3” “airdry4” “airdry5”
[13] “ll15_1” “ll15_2” “ll15_3” “ll15_4” “ll15_5” “CLL1”
[19] “CLL2” “CLL3” “CLL4” “CLL5” “dul1” “dul2”
[25] “dul3” “dul4” “dul5” “sat1” “sat2” “sat3”
[31] “sat4” “sat5”

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。