广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言编码问题的解决
  • 802
分享到

R语言编码问题的解决

2024-04-02 19:04:59 802人浏览 八月长安
摘要

今天博客主要是解决一个学R语言里面最最痛苦的问题(嗯,python2.x里面也有),就是中文乱码问题: 一般用R语言的同学,多半遇见过以下这个问题: 反正虾神我每次遇见这个问题,立

今天博客主要是解决一个学R语言里面最最痛苦的问题(嗯,python2.x里面也有),就是中文乱码问题:

一般用R语言的同学,多半遇见过以下这个问题:

反正虾神我每次遇见这个问题,立刻就是:

实际上这个问题写代码的人一般都能遇见,不同字符编码的问题,如果是从文件里面读的还好说,可以带这个字符编码集一起读,但是如果这个数据是来自于数据库的,如果经验的话,那就真得各种凉拌了。

下面我简单把我今天通过R语言从postgresql数据库中处理中文问题的整个流程说说,如果哪位同学也遇上了,可以参考我的整个解决方式。

下面这个代码是简单的从R连接Postgresql获取数据的过程,如果没有中文,就一切ok:


library(ggplot2)
library(RPostgreSQL)
drv= dbDriver("PostgreSQL")
pGCon=dbConnect(drv,user="sde",passWord="sde",host="127.0.0.1")
s ="select * from chinapop"
rs = dbSendQuery(pgdb, statement = s)
df = fetch(rs, n = -1)

数据是我SDE库里面的,内容如下:

在数据库里面表现如下:

结构非常简单,大部分字段都是数字型,只有name这个字段是中文的,当我们运行连接和查询之后,在R语言里面就变成了这个一个dataframe:

然后我们如果想进行一下查询,比如要查一下以“南”在结尾的省(湖南、河南、海南、云南),那么sql语句变成:

一下就让我们抓狂了……生无可恋啊……

然后我们来看看为什么会出现这个问题,首先当然看看你的R语言的环境,这个可以通过sessionInfo()来实现

原来R语言默认使用的是你系统的字符集——我这里win7中文版,默认的字符集就是cp936,也就是所谓的gb2312编码。

然后再来看看我们数据库用的编码,我这里是Postgersql,其他的数据库查看方式自己百度:

字符编码是UTF-8……好吧,知道这个问题就好解决了。

首先,从数据库里面获取的数据,回来的是UTF8的,那么我们可以转成R的字符编码,转换的函数R语言里面已经提供了,叫做iconv(), 如下:

将df里面的name数列,从UTF8的编码,转换为CP936,这样就变成了中文了。

下面就可以用同样的方式来处理中文查询的问题:

这次是从CP936转换为UTF8来执行,语句如下:


s =paste("select * from chinapop where name like '%",iconv("南","CP936","UTF8"),"'",sep = "")

paster函数,是R语言里面的字符串连接函数。

下面抛出了一个警告,所里面有个字段类型是st_geometry类型的,R语言读不了……这个是ArcGIS的东西,直接不管。

然后我们可以看出,查出来4条数据,说明SQL语句执行成功了,但是回来的还是乱码,接下去用上面说的iconv()函数转换一下就行:

到此,中文问题解决.

后面就是R语言老本行分析&可视化了,我们把这4个省的2008年的GDP做一个柱状图,代码如下(用的是ggplot2)


qplot(name,gdp_2008,data=df,fill=gdp_2008)+geom_bar(stat='identity')

如果还需要其他的各种分析可视化,敲命令就可以了,打完收工。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: R语言编码问题的解决

本文链接: https://www.lsjlt.com/news/123841.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言编码问题的解决
    今天博客主要是解决一个学R语言里面最最痛苦的问题(嗯,python2.x里面也有),就是中文乱码问题: 一般用R语言的同学,多半遇见过以下这个问题: 反正虾神我每次遇见这个问题,立...
    99+
    2022-11-12
  • R语言 解决安装ggplot2报错的问题
    如下所示: install.packages(‘xxx',repos=‘http://cran.us.r-project.org') xxx 改为 ggplot2 补充:R包安...
    99+
    2022-11-12
  • 解决R语言 数据不平衡的问题
    R语言解决数据不平衡问题 一、项目环境 开发工具:RStudio R:3.5.2 相关包:dplyr、ROSE、DMwR 二、什么是数据不平衡?为什么要处理数据不平衡? 首先我们要知...
    99+
    2022-11-11
  • 如何解决R语言循环慢的问题
    小编给大家分享一下如何解决R语言循环慢的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计...
    99+
    2023-06-14
  • R语言 解决无法打开链结的问题
    近期,在项目中遇到一个棘手的问题。 R脚本在centos服务器上通过"R --no-save filename.R"的方式运行R脚本可以成功,分析结果也可以存入MySQL,该种方式适...
    99+
    2022-11-12
  • R语言 UTF-8各种问题的解决方案
    R语言在碰到读UTF-8文件,或者处理UTF-8数据时总是会遇到各种各样的问题,本姑娘也是在碰了n多次壁,被气得吐血好多次之后,终于对这类总结出了一些解决办法: 1. 读UTF-8文...
    99+
    2022-11-12
  • centos6.5安装R语言出现问题怎么解决
    这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!环境:虚拟机centos6.5...
    99+
    2023-06-03
  • R语言多线程运算操作(解决R循环慢的问题)
    已经大半年没有更新博客了。。最近都跑去写分析报告半年没有R 这次记录下关于R循环(百万级以上)死慢死慢的问题,这个问题去年就碰到过,当时也尝试过多线程,but failed........
    99+
    2022-11-12
  • R语言编程学习从Github上安装包解决网络问题
    目录1. remotes 包安装2. devtools 包安装3. 从 gitee.com 上安装4. 离线安装1)先从 GitHub 上 下载 zip 压缩文件;2)在本地 R S...
    99+
    2022-11-12
  • R语言如何解决无法打开链结的问题
    这篇文章给大家分享的是有关R语言如何解决无法打开链结的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。近期,在项目中遇到一个棘手的问题。R脚本在centos服务器上通过"R --no-save fil...
    99+
    2023-06-14
  • 解决R语言中install_github中无法安装遇到的问题
    首先,让我们来进入常规步骤 我安装的是recharts包,正常的写法呢,就是以下这个样子: install.packages("devtools") #devtools::ins...
    99+
    2022-11-12
  • R语言 中文乱码的解决方案
    问题背景 在R Studio中重新载入之前编辑好的.r文件,结果发现内容中的所有中文都乱码了。 问题解决 在R Studio中选择菜单栏File->Reopen with En...
    99+
    2022-11-12
  • 基于R语言xlsx安装遇到的问题及解决方案
    1、java环境的安装,如果java安装的是64位使用R软件一定要是64位,如果使用32位会报错,版本一定要对应。 2、安装顺序要是install.packages(“rJava”)...
    99+
    2022-11-12
  • R语言-解决处理矩阵遇到内存不足的问题
    如下: Error : cannot allocate vector of size X Gb 类似于这种问题的可能处理办法: 1. 可以用matrix尽量不要用data fra...
    99+
    2022-11-12
  • R语言安装R包的方法,mac、windows、linux安装R包常见问题与解决方法
    R语言如何快速安装R包? 如果把R比作是沃土的话,那么R包就是鲜花,开源共享的开发者社区提供了很多功能丰富的R包,方便使用者充分利用R语言完成工作。 但是,有时候在安装R包是会遇到各种各样的报错和问题...
    99+
    2023-09-21
    程序人生
  • 解决R语言安装时出现辑程包不存在的问题
    【解决方案】 1.使用命令单独安装caret,安装的时间很长。 install.packages("caret", dependencies = c("Depends", "S...
    99+
    2022-11-12
  • 如何解决R语言中install_github中无法安装遇到的问题
    这篇文章将为大家详细讲解有关如何解决R语言中install_github中无法安装遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU...
    99+
    2023-06-14
  • 利用Python/R语言分别解决金字塔数求和问题
    目录前言1、前N阶乘求和1.1 图解问题1.2 算法流程1.3 代码实现1.4实验小结2、金字塔数求和运算2.1 图解问题2.2 算法流程2.3 代码实现2.4 实验小结总结前言 此...
    99+
    2022-11-13
  • R语言中怎么解决从Github上安装包网络问题
    本篇内容主要讲解“R语言中怎么解决从Github上安装包网络问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言中怎么解决从Github上安装包网络问题”吧!1. remotes 包安装in...
    99+
    2023-06-25
  • 如何解决win10系统语言乱码的问题
    这篇文章将为大家详细讲解有关如何解决win10系统语言乱码的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。win10系统语言乱码解决方法首先打开控制面板,将查看方式改为小图标。接着选择区域。接着在打开...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作