R语言的数据读入--结构化数据读入

本文介绍了如何使用R语言读取结构化数据,包括文本文件、CSV文件和xls/xlsx文件。对于文本文件,主要使用read.table()函数,CSV文件可以借助read.csv()函数,如果需要读取Excel文件,可以使用readxl包的read_excel()函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

文本文件

CSV文件

1.read.table()函数

2.read.csv()函数

xls(xlsx)读取


文本文件

对于文本文件,用命令read.table()就可以将数据对象顺利导入,具体使用的语法是:read.table(file_name, header=logical_value, sep=''),其中,file_name表示文件名,header用于设置是否把数据的第一行识别为变量名,sep则用来指定文件中的分隔符

# 备注:本节内容涉及大量路径的设定,此处以windows系统路径为例,读者在运行时需要根据自己的情况调整!

# 清空工作空间
rm(list = ls())

## 从txt中读入 ##
# 输入完整路径,可以顺利读入文件,下面命令可读入存在Downloads文件夹中的movie文件,用户请根据自己的文件路径修改运行
movie_txt = read.table("C:/Users/Dell/Downloads/movie.txt", header = T, fileEncoding = "UTF-8")
head(movie_txt)
##                        name boxoffice doubanscore type duration  showtime
##  1                    叶问3  77060.44         6.4 动作      105  2016/3/4
##  2                   美人鱼 338583.26         6.9 喜剧       93  2016/2/8
##  3           女汉子真爱公式   6184.45         4.5 喜剧       93 2016/3/18
##  4 西游记之孙悟空三打白骨精 119956.51         5.7 喜剧      120  2016/2/8
##  5               澳门风云三 111693.89         4.0 喜剧      112  2016/2/8
##  6                功夫熊猫3  99832.53         7.7 喜剧       95 2016/1/29
##    director      star1 index1        star2 index2
##  1   叶伟信     甄子丹  11385         张晋   4105
##  2   周星驰       邓超  41310         林允   9292
##  3   郭大雷     赵丽颖 181979         张翰  44277
##  4   郑保瑞     郭富城  12227         巩俐   8546
##  5     王晶     周润发  16731       刘德华  30277
##  6   吕寅荣 杰克布莱克    178 安吉丽娜朱莉   1540
# 用getwd获得工作目录
getwd()

CSV文件

csv是一种用逗号分隔的文件,是一种文本文件

1.read.table()函数

# 有了分隔符,世界一片清朗
tes = read.table("电影数据.csv", header = T, sep = ",", fileEncoding = "UTF-8"); head(tes)
##                        name boxoffice doubanscore type duration  showtime
##  1                    叶问3  77060.44         6.4 动作      105  2016/3/4
##  2                   美人鱼 338583.26         6.9 喜剧       93  2016/2/8
##  3           女汉子真爱公式   6184.45         4.5 喜剧       93 2016/3/18
##  4 西游记之孙悟空三打白骨精 119956.51         5.7 喜剧      120  2016/2/8
##  5               澳门风云三 111693.89         4.0 喜剧      112  2016/2/8
##  6                功夫熊猫3  99832.53         7.7 喜剧       95 2016/1/29
##    director      star1 index1        star2 index2
##  1   叶伟信     甄子丹  11385         张晋   4105
##  2   周星驰       邓超  41310         林允   9292
##  3   郭大雷     赵丽颖 181979         张翰  44277
##  4   郑保瑞     郭富城  12227         巩俐   8546
##  5     王晶     周润发  16731       刘德华  30277
##  6   吕寅荣 杰克布莱克    178 安吉丽娜朱莉   1540
# 没有分隔符,世界一片混沌
(tes = read.table("电影数据.csv", header = T, fileEncoding = "UTF-8"))
##        name.boxoffice.doubanscore.type.duration.showtime.director.star1.index1.star2.index2
##  1                       叶问3,77060.44,6.4,动作,105,2016/3/4,叶伟信,甄子丹,11385,张晋,4105
##  2                        美人鱼,338583.26,6.9,喜剧,93,2016/2/8,周星驰,邓超,41310,林允,9292
##  3             女汉子真爱公式,6184.45,4.5,喜剧,93,2016/3/18,郭大雷,赵丽颖,181979,张翰,44277
##  4   西游记之孙悟空三打白骨精,119956.51,5.7,喜剧,120,2016/2/8,郑保瑞,郭富城,12227,巩俐,8546
##  5                澳门风云三,111693.89,4.0,喜剧,112,2016/2/8,王晶,周润发,16731,刘德华,30277
##  6         功夫熊猫3,99832.53,7.7,喜剧,95,2016/1/29,吕寅荣,杰克布莱克,178,安吉丽娜朱莉,1540
##  7  北京遇上西雅图之不二情书,78341.38,6.5,喜剧,131,2016/4/29,薛晓路,汤唯,13499,吴秀波,77260
##  8            谁的青春不迷茫,17798.89,6.4,爱情,108,2016/4/22,姚婷婷,白敬亭,14759,郭姝彤,755
##  9                 睡在我上铺的兄弟,12561.55,5.0,爱情,95,2016/4/1,张琦,陈晓,13251,秦岚,9549
##  10                    冰河追凶,4262.14,5.6,动作,102,2016/4/15,徐伟,梁家辉,6911,佟大为,5614
##  11                   梦想合伙人,8058.15,3.8,剧情,101,2016/4/29,张太维,姚晨,7315,唐嫣,66756
##  12             我的新野蛮女友,3336.83,3.4,喜剧,107,2016/4/22,赵根植,宋茜,81163,车太贤,1789
##  13                     刑警兄弟,3005.96,5.2,喜剧,97,2016/4/22,戚家基,黄宗泽,9823,金刚,4010
##  14                   大唐玄奘,3271.44,5.1,剧情,90,2016/4/29,霍建起,黄晓明,32595,徐峥,10318
##  15              我的特工爷爷,32009.37,5.3,动作,99,2016/4/1,洪金宝,洪金宝,9148,刘德华,30277
##  16                      火锅英雄,36624.84,7.3,犯罪,95,2016/4/1,杨庆,陈坤,5763,白百何,10585
##  17                   百鸟朝凤,8686.14,8.0,剧情,108,2016/5/6,吴天明,陶泽如,1139,李岷城,3290
##  18                     夜孔雀,3260.42,4.7,爱情,84,2016/5/20,戴思杰,刘亦菲,58355,刘烨,11248
##  19                          钢刀,924.86,4.3,动作,94,2016/5/20,阿甘,何润东,11822,李学东,521

2.read.csv()函数

read.csv('file_name', header=logical_value),header默认为TRUE

#专用函数read.csv
movie_csv = read.csv("电影数据.csv", fileEncoding = "UTF-8"); head(movie_csv)
##                        name boxoffice doubanscore type duration  showtime
##  1                    叶问3  77060.44         6.4 动作      105  2016/3/4
##  2                   美人鱼 338583.26         6.9 喜剧       93  2016/2/8
##  3           女汉子真爱公式   6184.45         4.5 喜剧       93 2016/3/18
##  4 西游记之孙悟空三打白骨精 119956.51         5.7 喜剧      120  2016/2/8
##  5               澳门风云三 111693.89         4.0 喜剧      112  2016/2/8
##  6                功夫熊猫3  99832.53         7.7 喜剧       95 2016/1/29
##    director      star1 index1        star2 index2
##  1   叶伟信     甄子丹  11385         张晋   4105
##  2   周星驰       邓超  41310         林允   9292
##  3   郭大雷     赵丽颖 181979         张翰  44277
##  4   郑保瑞     郭富城  12227         巩俐   8546
##  5     王晶     周润发  16731       刘德华  30277
##  6   吕寅荣 杰克布莱克    178 安吉丽娜朱莉   1540

xls(xlsx)读取

一般推荐的做法是将其另存为csv格式,然后按照csv的方法读取,但是可以通过reradxl包的read_excel()函数来读取

## 从xls,xlsx中读入数据 ##
# install.packages("readxl")
library("readxl")
# 其中col_names参数仍然是为了设定是否把第一行当做变量名
movie_excel = data.frame(read_excel("电影数据.xlsx", col_names = T)); head(movie_excel)
##                        name boxoffice doubanscore type duration  showtime
##  1                    叶问3  77060.44         6.4 动作      105  2016/3/4
##  2                   美人鱼 338583.26         6.9 喜剧       93  2016/2/8
##  3           女汉子真爱公式   6184.45         4.5 喜剧       93 2016/3/18
##  4 西游记之孙悟空三打白骨精 119956.51         5.7 喜剧      120  2016/2/8
##  5               澳门风云三 111693.89         4.0 喜剧      112  2016/2/8
##  6                功夫熊猫3  99832.53         7.7 喜剧       95 2016/1/29
##    director      star1 index1        star2 index2
##  1   叶伟信     甄子丹  11385         张晋   4105
##  2   周星驰       邓超  41310         林允   9292
##  3   郭大雷     赵丽颖 181979         张翰  44277
##  4   郑保瑞     郭富城  12227         巩俐   8546
##  5     王晶     周润发  16731       刘德华  30277
##  6   吕寅荣 杰克布莱克    178 安吉丽娜朱莉   1540

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值