加载.dat文件时所有数据合并为单个变量的问题求助
解决read.delim加载空格分隔文件时变量合并的问题
这问题我之前碰过好多次啦,核心原因很简单:read.delim()这个函数默认的分隔符是制表符(\t),而你的文件是用单个空格来分隔内容的,所以它根本识别不出各个变量的边界,自然就把整行内容都塞到一个变量里了。
给你两个最直接的解决办法:
方法1:指定sep参数为空格
直接在read.delim里明确告诉它分隔符是单个空格,代码如下:
super <- read.delim("Supermodel.dat", header=TRUE, sep=" ")
这个方法适合你的文件确实是严格单个空格分隔的情况。
方法2:改用read.table()函数
read.table()是更通用的文本文件读取函数,它默认会把**任意数量的空白字符(包括单个空格、多个连续空格、制表符)**当成分隔符,容错性更强,代码更简洁:
super <- read.table("Supermodel.dat", header=TRUE)
如果你的文件里偶尔存在多个连续空格的情况(比如有些变量值为空导致的),这个方法会更靠谱。
另外别忘了确认一下你的文件第一行确实是变量名,而且也是用单个空格分隔的,这样header=TRUE的设置才是正确的哦~
内容的提问来源于stack exchange,提问作者Spaniel
相关产品推荐
相关产品推荐

