楼主: 畅饮0
2448 8

[有偿编程] R语言按条件读取文件内容,需要附上具体语句,谢谢,金币酬谢 [推广有奖]

  • 0关注
  • 0粉丝

大专生

13%

还不是VIP/贵宾

-

威望
0
论坛币
376 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
796 点
帖子
26
精华
0
在线时间
25 小时
注册时间
2016-3-9
最后登录
2016-8-22

20论坛币
R语言读取数据的语句。如果数据文件比较大,读取时间会比较慢,因此想只从源数据文件里读取一部分数据,该怎么做呢?
有什么按条件读取的语句吗?谢谢讲解一下

假设数据文件是这样的(如下):
Date,income,outcome
1940-01-01,10,20
2011-07-02,30,50
2015-04-02,33,55
2016-02-04,70,30
1923-01-01,10,20
2012-07-02,30,50
2010-04-02,33,55
2016-03-05,70,30
···

come.rar (195 Bytes) 本附件包括:
  • come.txt


我只希望读取到R里面只有2016年的数据。
Date,income,outcome
2016-02-04,70,30
2016-03-05,70,30
2016-06-06,70,30
2016-06-06,70,30
2016-06-06,70,30
2016-03-04,70,30


数据文件已上传附件,请大家帮忙解答一下,谢谢,有金币奖励。


最佳答案

johnmy 查看完整内容

给你两个方法: 最后两个语句用任何一个都可。
关键词:读取文件 R语言 outcome Income 数据文件 income

回帖推荐

johnmy 发表于2楼  查看完整内容

给你两个方法: 最后两个语句用任何一个都可。
沙发
johnmy 发表于 2016-8-4 08:43:39 |只看作者 |坛友微信交流群
给你两个方法:
最后两个语句用任何一个都可。
  1. library(lubridate) #use year
  2. library(dplyr) #use filter and mutate
  3. library(stringr) #use str_detect
  4. come<-read.table("come.txt",sep=",",header = T)
  5. come%>%filter(str_detect(Date,pattern="2016"))  
  6. come%>%mutate(year=year(Date))%>%filter(year==2016)
复制代码

使用道具

藤椅
万人往LVR 在职认证  发表于 2016-8-4 18:40:53 |只看作者 |坛友微信交流群
用fread会稍微快些
不可能筛选再读的,先读才能筛选

使用道具

板凳
jgchen1966 发表于 2016-8-4 20:44:40 |只看作者 |坛友微信交流群
http://www.bigmemory.org/  

使用道具

报纸
畅饮0 发表于 2016-8-5 13:12:31 |只看作者 |坛友微信交流群
johnmy 发表于 2016-8-4 17:25
给你两个方法:
最后两个语句用任何一个都可。
come%>%mutate(year=year(Date))%>%filter(year==2016)

过滤2016-03怎么写,谢谢

使用道具

地板
johnmy 发表于 2016-8-5 14:13:47 来自手机 |只看作者 |坛友微信交流群
畅饮0 发表于 2016-8-5 13:12
come%>%mutate(year=year(Date))%>%filter(year==2016)

过滤2016-03怎么写,谢谢
用上面那个语句,改为2016-03试试

使用道具

7
johnmy 发表于 2016-8-5 20:18:51 |只看作者 |坛友微信交流群
come%>%filter(str_detect(Date,pattern="2016-03"))  

使用道具

8
畅饮0 发表于 2016-8-8 09:20:38 |只看作者 |坛友微信交流群
johnmy 发表于 2016-8-4 17:25
给你两个方法:
最后两个语句用任何一个都可。
come%>%mutate(year=year(Date))%>%filter(year==2016)

我问下%>%这是什么意思?还有就是mutate(year=year(Date))

使用道具

9
johnmy 发表于 2016-8-8 15:44:23 |只看作者 |坛友微信交流群
畅饮0 发表于 2016-8-8 09:20
come%>%mutate(year=year(Date))%>%filter(year==2016)

我问下%>%这是什么意思?还有就是mutate(year= ...
%>%是dplyr包中的管道符号。其他是函数。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-15 00:28