R语言read.csv函数读取数据,报出错误:二进列运算符中有非数值参数

R语言read.csv函数读取数据,报出错误:二进列运算符中有非数值参数

项目算法程序开发(win7 64bit)完后,把代码放在需要去现场部署的centos系统服务器上测试,R版本是3.5.2,除了一些编码方式需要修改外,其它代码都OK。然后我又在一台公司的centos系统服务器上(项目测试使用)测试了一遍,该服务器上所装的R版本是3.1.0,报出错误:二进列运算符中有非数值参数。
在网上查找了解决方案,说是数据中有特殊类型的元素,于是乎,对报出有问题的数据进行检查,发现data.frame中所有浮点数的元素都变为了字符类型,而整数元素依旧正常。分析:同样的代码,在不同版本的R环境下,得出不同的结果,只能讲此归于软件版本不同带来的问题,有一点需要说明,read.csv函数是R自带的基础函数。
解决该问题的重点就要放在如何将本应该是数值类型的元素由字符串转化为数值,由于该data.frame中的所有元素都应该是数值类型,可以用apply函数对data.frame(available_df)的每个元素进行类型转化,无需对某一列进行单独处理。

#按列执行类型转化
available_df <- apply(available_df, MARGIN=2, as.numeric)
#将结果由矩阵转化为data.frame
available_df <- as.data.frame(available_df)

你可能感兴趣的:(R语法,R语言,read.csv,报错)