R语言scan函数
使用scan函数读取外部文件时有如下特点:
·scan函数可以指定输出变量的数据类型。
·输出对象的类型更灵活,可以是数据框、向量、矩阵、列表。
·对于很大的数据文件,使用scan函数时读取速度会更快。因为它可以事先设定数据类型,而不是在读取完毕后再检查数据类型的一致性。
例如,以下是某人的微博发言信息:
数据文件Microtoby-2013-04-22-08-52text.txt ------------------------------------------------------------------------------- @benbo007: 当年的家产,如今的国产,唉!国贼难分啊 @yhcqw01: 这海上盛宴,炒来炒去除了能找到一堆文字之外,照片就那么两张,视频没有/ 抠鼻 然后又说板蓝根可以防H7N9 / 抠鼻 脑残才是解药啊/ 呲牙/ 流汗 @longwu: 飞行棋? @QQmouse: 神马游戏?女人推动了经大 @yhcqw01: 这海上是个好 --------< 中间数据省略展示>-------- 清明节是谁的节日?【Win 8 已经失败的5 个理由】<a href="http://url.cn/BYYn4m" target="_blank">http://url.cn/BYYn4m</a>
观察上面的数据,文件内并未进行分行,同时每段微博开头均有一个@字符串用于分割。下面利用scan函数来读取相应的数据,代码如下:
file=paste(root,"Microtoby-2013-04-22-08-52text.txt",sep="") weibo<-scan(file,what="character",sep="@",encoding="UTF-8" )
这里使用@字符串分隔file内的数据,然后返回一个character字符类型的向量。