R语言读取csv文件出错的解决方案
程序员文章站
2022-03-09 16:32:37
今天在用r语言读取.csv文件的时候报错error in make.names(col.names, unique = true) : invalid multibyte string 5上网查了很久...
今天在用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”
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。