r语言 mysql 乱码_【R学习笔记】可用作统计分析的R语言操作mysql —— 中文字符集乱码的坑...

老婆是学经济学的,之前用过R语言,也因此知道了R语言在统计分析中的强大之处,后来也了解到,R语言是做生物信息学的重要分析工具,因此对此颇有兴趣。

正好上周Professor告诉我,罗马一大有个R课程,如果我有兴趣,可以去学习一下,我当然是非常有兴趣,因此跑过去听了两天节课,虽然老师全程用英语授课,但是其语速之快,连其他好几个意大利学生都没能怎么听清楚,我也就只能听懂一部分,不过还好,跟着老师的例子进行,加上之前自学了PHP,算得上有一些编程上的思维,也就勉强能跟得上,后来回来之后又各种百度谷歌搜了一下

由于我平时做网站前段比较多,最近有正好需要更新一个数据库表,因此我就这样挑了个坑分非常多的小项目——操作含中文字符的mysql,开始了我的R之旅,其中的恶心程度,难以言喻

背景:已有一份完整的期刊分区与影响因子的表,含有2008年至2018年的影响因子,以及2017年的中科院分区,当然还包含期刊名、issn、所属分类(中文字符),投稿建议(中文字符),投稿难度(中文字符),审稿周期(中文字符)等必要字段。

目的:将中科院发布的2018年的分区、web of science发布的2019年影响因子更新到上述表中,并添加2019年web of science新增的期刊(以及老的表中之前遗漏期刊)

关键点:将最新数据按照期刊一一对应的关系更新到老的数据库表中

坑:可能老外在设计R语言的时候,就压根没考虑过会有人拿来操作mysql数据库表中的中文字符吧

其他的不多说了,直接上源码(虽然代码只有这么几行,但是作为新手的我,耗费了周末两整天才搞定)

#install.packages("RMySQL")

install.packages("RODBC")

#library(RMySQL)

library(RODBC)

conn

#连接数据库

factor

#获取factor数据库表内的数据,stringsAsFactors = FALSE  表示不将字符串转换为factor因子,表观体现为:去掉个元素后面的levels

fenqu

#以UTF-8编码读取中科院发表的最新分区数据

if2019

#以UTF-8编码读web of science发表的最新影响因子数据

if2019

#删除影响因子中的Rank这一列(多余操作)

factor

#删除factor中,fenqu这一列(因为这一列是去年发布的,已经过期了,所以需要删除)

factor$fenqu

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值