楼主: 水天一色DIY
1623 0

How To Read Big Dataset To R [推广有奖]

  • 2关注
  • 28粉丝

VIP

已卖:254份资源

副教授

84%

还不是VIP/贵宾

-

威望
1
论坛币
50270 个
通用积分
1.1456
学术水平
66 点
热心指数
76 点
信用等级
48 点
经验
20133 点
帖子
589
精华
1
在线时间
708 小时
注册时间
2010-9-18
最后登录
2023-3-16

楼主
水天一色DIY 在职认证  发表于 2013-5-15 12:20:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何在R中导入大数据集,对于很多人(me included)来说非常棘手(当然对于R高手来说very easy),但是被重复问及,就难免想总结一些自己平常用的比较多的方法。其实方法比较多,或许我的方法在某些人面前都out了。      首先产生一个较大数据集:
  1. bigdf <- data.frame(dim=sample(letters,replace=T,4e6),fact1=rnorm(4e6),fact2=rnorm(4e6,20,50))
  2. > write.csv(bigdf,'bigdf.csv',quote = F)
复制代码
     然后,
  1. system.time(read.csv('bigdf.csv'),header=TRUE) #230.11 seconds
复制代码
      然后,使用sqldf包中的sqldf重新try:
  1. system.time(bigdf <- sqldf("select * from f", dbname = tempfile(), file.format = list(header = T, row.names = F)))#55.43 seconds
复制代码
      节约了3分钟左右,差异是不是很惊人!当然这是不是最快的?答案是NO!很多包提供了其它的方法,ff包、data.table包都提供了一些很不错的方法:
  1. system.time(bigdf <-fread('bigdf.csv',header=T)) #29.83seconds
复制代码
       还有其它很多方法可以帮助提高读取数据的速度,比如,read.table中指定数据类型(colClasses)和行数(nrows)等等。当然不同情况,适合用不同方法,这里就不在说了。




二维码

扫码加我 拉你入群

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

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

关键词:Big data dataset DataS Data READ included replace letters

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-7 06:01