首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库R语言

R语言中使用scan()函数读取文件中的数据

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2017-10-29 06:55:03

在R语言中可以使用scan()函数从文件中获取数据或从键盘中直接获取用户输入的数据,其语法格式可以参见《R语言中scan()函数参数详解》。这里主要探讨一下从文件中获取数据的方法。

1、从文本文件中读取数据

假设在R的当前工作目录中有一个文件:student.txt,其存储的数据如下所示:

数据文件格式

每个数据以空白分隔。

(1)scan("student.txt", what="c")  #以字符串的格式读取数据

(2)scan("student.txt", what="c", nlines=3)  #读取3行

(3)scan("student.txt", what="c", skip=1)  #忽略第1行

以上的执行情况如下图所示:

scan()函数读取文件的形式

(4)scan("student.txt", what=list(studentNo="",studentName="", studentSex="", studentAge=0),skip=1) #以列表的形式读取数据

scan()函数以列表的形式读取数据

(5)lst <- scan("student.txt", what=list(xh="",xm="",xb="",nl=0),skip=1)  #读取数据并保存到变量中

执行情况如下图所示:

scan()函数读取数据到变量中

2、读取CSV

CSV文件,默认是以逗号进行分隔的数值文件。将Excel文件另存CSV格式的文件后,可以使用R语言的scan()函数读取其数据。

使用scan()函数读取csv格式的文件,与读取文本型数据没有多大区别,不过要指定逗号作为分隔符。

将student.txt文件中的数据键入到Excel文件后,另存为student.csv,并将其放到R的工作目录中。

(1)scan("student.csv")  #scan()函数默认以double格式存储数据,而该文件中包含不能转换的数据而报错

(2)scan("student.csv",what="c") #由于未指定分隔符,scan()函数将每一行作为了一个数据域

(3)scan("student.csv",what="c",sep=",") #指定逗号作为分隔符后,可以正确读取数据了

(4)scan("student.csv",what="c",sep=",",skip = 1)  #忽略第一行的标题行

以上在R中的执行情况如下图所示:

使用scan()函数读取CSV格式的文件

(5)scan("student.csv",what=list(xh="",xm="",xb="",nl=0),sep=",",skip=1) #以列表的形式读取数据

(6)m<-matrix(scan("student.csv",what="c",sep=",",skip=1),ncol=4,byrow=TRUE) #读取数据并创建矩阵

以上执行情况如下图所示:

scan()函数以列表的形式读取数据和读取数据到矩阵中

本部分(完)

本文为本站原创,如需转载,请注明出处:R语言中使用scan()函数读取文件中的数据-翔宇亭IT乐园

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.