今天在用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] “锘Class” “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”
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/bi_hu_man_wu/article/details/72328717