博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
r语言8c多字节字符串有错,R语言答疑:txt文件无法被R正确读入
阅读量:4363 次
发布时间:2019-06-07

本文共 1326 字,大约阅读时间需要 4 分钟。

原标题:R语言答疑:txt文件无法被R正确读入

今天来解答一个网友的疑惑,或许你也曾遇到过这个问题噢~

R语言中,txt无法正确的读入的可能性有很多种。有位网友提供的一个无法正确读入的文本文件,使用记事本打开,看起来一切正确(见图片)。

11370ebea0551f7b8e16b21ff5359ebf.png

但读入的时候,报错如下。

>read.table("1.txt")

Error intype.convert(data[], as.is = as.is, dec = dec, numerals = numerals, :

'<67>'多字节字符串有错

此外,Warning messages:

Inread.table("1.txt") : line 1 appears to contain embedded nulls

Inread.table("1.txt") : line 2 appears to contain embedded nulls

Inread.table("1.txt") : line 3 appears to contain embedded nulls

Inread.table("1.txt") : line 4 appears to contain embedded nulls

Inread.table("1.txt") : line 5 appears to contain embedded nulls

Inscan(file = file, what = what, sep = sep, quote = quote, dec = dec,:embedded nul(s) found in input

问题解决

报错提示,文本中包含嵌入的null符号,所以无法正确读取。那么为什么使用记事本打开却一切正常呢?我们试试使用专业的文本编辑器VIM(如果有问题,可以百度VIM)打开(见图片,原文件-VIM)。

df34599c753929471f22fb7bb6a1991c.png

注意了,与记事本看起来多了很多符号。因为在记事本下,文本中的很多异常符号是显示不出来的。

符号解释

^@:代表“NULL”符号,本身代表空白,所以在记事本下不显示。

^M: 其实代表window下的回车符。

以上两个符号需要被删除的,否者R可能出现读取错误。

解决方法

1)

将1.txt使用记事本打开,然后复制到excel里。接着将excel里的文本在复制一遍,粘贴到一个新建的txt文件 2.txt里面。再次使用VIM打开,看起来就一切正常了(见图片 修改后-VIM)。

0222bc750751146edf98db9cd41d9c68.png

然后,R就可以正常读入了。

2)

在VIM下,将异常符号替换去除。如果熟悉使用VIM的同学,可以使用以下两个命令替换异常符号:

%s/r//g #备注:替换掉^M

%s/^@//g #备注:替换掉^@, ^@不能直接输入,否者会报错。正确的方法是Shift + Ctrl + 2 来输入^@

另外在R最新版本 3.2.3 的read.table命令 多了一个选项:skipNUL。如果skipNul=TRUE可以自动忽略文件中的NULL符号。不过在这个例子中,由于异常符号^M的存在,即使使用skipNul=TRUE依然是会报错的。需要将^M手动替换去除。返回搜狐,查看更多

责任编辑:

转载地址:http://ehkfs.baihongyu.com/

你可能感兴趣的文章
slice进阶
查看>>
20162309《程序设计与设计结构》第四次实验报告
查看>>
CIFilter Transitions & UIKit Dynamics
查看>>
Django Web开发【6】使用Ajax增强用户体验
查看>>
swift的入门001
查看>>
170830-关于JdbcTemplate的练习题以及其中的问题
查看>>
Deme_遥感控制物体移动(涉及遮罩,小摄像机跟随)
查看>>
win7下Hadoop学习 之 Cygwin下载、安装、配置
查看>>
sql索引
查看>>
js中的instanceof运算符
查看>>
小练习--低仿系统计算器
查看>>
sqlserver varchar转datate 加计算
查看>>
导弹拦截(数据加强版)
查看>>
8皇后
查看>>
Hibernate中的Session
查看>>
Dubbo之RPC架构
查看>>
AtCoder Beginner Contest 113 B - Palace
查看>>
新手村之洛谷的第一个任务
查看>>
Palindrome [Manecher]
查看>>
垃圾收集器与内存分配策略
查看>>