全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6960 10
2016-02-12
存储的两列数据在读取时变成一列,请问各位前辈应该怎么办。

具体如下。

存储的数据为txt格式
"1" "2013-10-10" 3.13852672326025e-05
"2" "2013-10-11" 3.10365429430613e-05
"3" "2013-10-15" 0.000821123682692567
"4" "2013-10-16" 3.17399020825352e-05
"5" "2013-10-17" 3.13852672326025e-05
"6" "2013-10-18" 0.000124842646256066
"7" "2013-10-21" 3.00245450657034e-05
"8" "2013-10-22" 3.00245450657034e-05
"9" "2013-10-23" 3.03563071553514e-05


读取函数为
zjhk<-read.table("路径",header=T)

无论sep="",或者sep=",",或者不设置,读出来的数据都是
     date.rvbandi
1 1 2013-10-10 3.13852672326025e-05
2 2 2013-10-11 3.10365429430613e-05
3 3 2013-10-15 0.000821123682692567
4 4 2013-10-16 3.17399020825352e-05
5 5 2013-10-17 3.13852672326025e-05
6 6 2013-10-18 0.000124842646256066


> zjhk[1,1]
[1] 1 2013-10-10 3.13852672326025e-05


为factor格式。

保存的时候明明是保存的两列,numeric,为什么读取的时候就变成这样了?请各位前辈知道。

不胜感激!谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-2-12 11:27:09
你使用read.table时试一试其他的参数。

read.table命令,就看到了关于数据输入函数的说明。对read.table,使用格式是这样的;
read.table(file, header = FALSE, sep = "", quote = "\"'",
dec = ".", row.names, col.names,
as.is = !stringsAsFactors,
na.strings = "NA", colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#",
allowEscapes = FALSE, flush = FALSE,
stringsAsFactors = default.stringsAsFactors(),
fileEncoding = "", encoding = "unknown", text)
参数很多,最常用的也就几个,重写如下:
read.table(file, header = FALSE, sep = "", quote = "\"'",
dec = ".", skip = 0,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#")
file表示要读取的文件。file可以是①绝对路径或者相对路径,但是一定要注意,因为在R语言中\是转义符,所以路径分隔符必须写成\\,比如“C:\\myfile\\myfile.txt”。②可以使剪切板的内容。③使用file.choose(),弹出对话框,让你选择文件位置。强烈推荐使用第三种方法,免去了记忆和书写文件路径的麻烦,特别是能够避免因数据文件位置移动带来的错误!例如:read.table(file.choose(),...)。
header来确定数据文件中第一行是不是标题。默认F,即认为数据文件没有标题,也即认为第一行就开始是数据了!例如:
姓名 年龄收入
小六 12 350
如果header=F,读进来的第一行数据是“姓名 年龄收入”,header=T,读进来的第一行是“小六 12 350”。
sep指定分隔符,默认是空格。quote是引号,默认就是双引号。dec是小数点的表示,默认就是一个点。skip是确定是否跳过某些行。strip.white确定是否消除空白字符。blank.lines.skip确定是否跳过空白行。comment.char指定用于表示注释的引导符号。
一般情况下,我们只需要默认值就够了。
下面是一个简单的例子,本例子中,首行是标题而不是数据,使用\t进行分割而不是空格。读取后的数据变量设为mydata。所以,可以写出读取方式为:
mydata<-read.table(file.choose(),header=T,sep="\t")
其中,T和TRUE的效果是一样的,正如F和FALSE的效果是一样的。
http://www.dataguru.cn/article-2184-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-12 12:00:48
复制代码

没有问题啊


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-12 12:21:45
txt文件是制表符分隔的文件,所以sep = '\t';stringAsFactors = FALSE可以避免读入factor格式的文件
总结,read.table('路径', header = T, sep = '\t', stringAsFactors = FALSE即可
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-12 20:33:14
king64 发表于 2016-2-12 11:27
你使用read.table时试一试其他的参数。

read.table命令,就看到了关于数据输入函数的说明。对read.table ...
rvbandi601899.txt
大小:(6.52 KB)

 马上下载


已经将参数改为sep="\t",但是情况还是一样。已经上传了文件,不知道可否帮一个忙?谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-12 20:33:57
〃时间宝贵 发表于 2016-2-12 12:21
txt文件是制表符分隔的文件,所以sep = '\t';stringAsFactors = FALSE可以避免读入factor格式的文件
总结 ...
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群