
R语言答疑:txt文件无法被R正确读入
R语言中,txt无法正确的读入的可能性有很多种。有位网友提供的一个无法正确读入的文本文件,使用记事本打开,看起来一切正确(见图片)。
但读入的时候,报错如下。
>read.table("1.txt")
Error intype.convert(data[], as.is = as.is, dec = dec, numerals = numerals, :
'<ff><fe><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)。
注意了,与记事本看起来多了很多符号。因为在记事本下,文本中的很多异常符号是显示不出来的。
符号解释
^@:代表“NULL”符号,本身代表空白,所以在记事本下不显示。
^M: 其实代表window下的回车符。
以上两个符号需要被删除的,否者R可能出现读取错误。
解决方法
1)
将1.txt使用记事本打开,然后复制到excel里。接着将excel里的文本在复制一遍,粘贴到一个新建的txt文件 2.txt里面。再次使用VIM打开,看起来就一切正常了(见图片 修改后-VIM)。
然后,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手动替换去除。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16MySQL 中 ADD KEY 与 ADD INDEX 详解:用法、差异与优化实践 在 MySQL 数据库表结构设计中,索引是提升查询性能的核心手段。无论 ...
2025-07-16解析 MySQL Update 语句中 “query end” 状态:含义、成因与优化指南 在 MySQL 数据库的日常运维与开发中,开发者和 DBA 常会 ...
2025-07-16如何考取数据分析师证书:以 CDA 为例 在数字化浪潮席卷各行各业的当下,数据分析师已然成为企业挖掘数据价值、驱动决策的 ...
2025-07-15CDA 精益业务数据分析:驱动企业高效决策的核心引擎 在数字经济时代,企业面临着前所未有的数据洪流,如何从海量数据中提取有 ...
2025-07-15MySQL 无外键关联表的 JOIN 实战:数据整合的灵活之道 在 MySQL 数据库的日常操作中,我们经常会遇到需要整合多张表数据的场景 ...
2025-07-15Python Pandas:数据科学的瑞士军刀 在数据驱动的时代,面对海量、复杂的数据,如何高效地进行处理、分析和挖掘成为关键。 ...
2025-07-15用 SQL 生成逆向回滚 SQL:数据操作的 “后悔药” 指南 在数据库操作中,误删数据、错改字段或误执行批量更新等问题时有发生。 ...
2025-07-14t检验与Wilcoxon检验的选择:何时用t.test,何时用wilcox.test? t 检验与 Wilcoxon 检验的选择:何时用 t.test,何时用 wilcox. ...
2025-07-14AI 浪潮下的生存与进阶: CDA数据分析师—开启新时代职业生涯的钥匙(深度研究报告、发展指导白皮书) 发布机构:CDA数据科 ...
2025-07-13LSTM 模型输入长度选择技巧:提升序列建模效能的关键 在循环神经网络(RNN)家族中,长短期记忆网络(LSTM)凭借其解决长序列 ...
2025-07-11CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-11数据透视表中两列相乘合计的实用指南 在数据分析的日常工作中,数据透视表凭借其强大的数据汇总和分析功能,成为了 Excel 用户 ...
2025-07-11尊敬的考生: 您好! 我们诚挚通知您,CDA Level I和 Level II考试大纲将于 2025年7月25日 实施重大更新。 此次更新旨在确保认 ...
2025-07-10BI 大数据分析师:连接数据与业务的价值转化者 在大数据与商业智能(Business Intelligence,简称 BI)深度融合的时代,BI ...
2025-07-10SQL 在预测分析中的应用:从数据查询到趋势预判 在数据驱动决策的时代,预测分析作为挖掘数据潜在价值的核心手段,正被广泛 ...
2025-07-10数据查询结束后:分析师的收尾工作与价值深化 在数据分析的全流程中,“query end”(查询结束)并非工作的终点,而是将数 ...
2025-07-10CDA 数据分析师考试:从报考到取证的全攻略 在数字经济蓬勃发展的今天,数据分析师已成为各行业争抢的核心人才,而 CDA(Certi ...
2025-07-09【CDA干货】单样本趋势性检验:捕捉数据背后的时间轨迹 在数据分析的版图中,单样本趋势性检验如同一位耐心的侦探,专注于从单 ...
2025-07-09year_month数据类型:时间维度的精准切片 在数据的世界里,时间是最不可或缺的维度之一,而year_month数据类型就像一把精准 ...
2025-07-09