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)
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值