如何解决将CSV文件转储到Postgres并在R中读取,同时保持列数据类型
我是R的新手,可以正常工作从CSV文件读取到数据库的项目重构代码。
工作包括将csv文件转储到Postgres数据库中,并修改现有的R脚本以从db表而不是csv文件中提取输入数据以进行后续转换
现在,我遇到了一个问题,即从dbGetQuery()返回的数据帧列具有与read_csv()的原始数据帧不同的模式和类
由于我正在读取的数据有数百列,因此显式指定每列的模式和类并不方便。
是否有一种简单的方法可以使数据框具有与旧模式相同的架构,因此我可以将现有代码应用于数据框上的数据转换
即 当我在db中的旧数据框与新数据框之间进行比较时,这就是我看到的
==================================
VARIABLE CLASS.(from csv) CLASS.(from db)
----------------------------------
col1 numeric integer64
col2 numeric integer
col3 numeric integer
----------------------------------
解决方法
通常这是不可能的,因为某些SQL数据类型(例如DATE,TIMESTAMP,INTERVAL)在R中没有等效项,并且R数据类型 factor 在SQL中没有等效项。根据您的R版本,字符串会自动转换为因数,因此使用stringsAsFactors=FALSE
导入数据至少会很有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。