楼主: tiansiyu_sh
2488 4

[问答] R语言【提取符合条件数据】分别提取年月日 [推广有奖]

  • 2关注
  • 0粉丝

已卖:4份资源

大专生

73%

还不是VIP/贵宾

-

威望
0
论坛币
121 个
通用积分
2.0500
学术水平
0 点
热心指数
0 点
信用等级
5 点
经验
12831 点
帖子
26
精华
0
在线时间
76 小时
注册时间
2015-9-2
最后登录
2025-11-10

楼主
tiansiyu_sh 发表于 2017-7-25 16:11:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例:a="2017年7月25日"
需要分别提取年、月、日
期望结果为:
y<-2017
m<-7
d<-25

谢谢各位!
二维码

扫码加我 拉你入群

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

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

关键词:R语言 年月日

沙发
都_城 发表于 2017-7-25 17:14:42
可以先用字符串替换把
a="2017年7月25日"
替换成"2017-7-25"这样的标准格式
然后用包lubridate
year(a)
month(a)
day(a)

藤椅
w3746 发表于 2017-7-25 19:44:47
as.Date("2017年7月25日", "%Y年%m月%d日")这个可以转换成日期型,然后用year()、month()、day()来提取

板凳
丘延君 发表于 2017-7-26 14:42:12
或者可以考虑自己编一个小函数,也很简单
> Date_Extr<-function(dtchr){#输入可以是一个中文日期,字符串向量输出的是数值型数据,用data.frame来装
+   lr<-length(dtchr)
+   StrDt<-strsplit(as.character(as.Date(dtchr, "%Y年%m月%d日")),split="-")
+   DtExt<-NULL
+   for(i in 1:lr){
+     dtvec<-as.numeric(StrDt[[i]])
+     Dtdf<-data.frame(y=dtvec[1],m=dtvec[2],d=dtvec[3])
+     DtExt<-rbind(DtExt,Dtdf)
+   }
+   DtExt
+ }
> Date_Extr(dtchr = "2013年10月12日")
     y  m  d
1 2013 10 12
> chr<-paste(2003:2017,"年10月12日",sep="")
> Date_Extr(chr)
      y  m  d
1  2003 10 12
2  2004 10 12
3  2005 10 12
4  2006 10 12
5  2007 10 12
6  2008 10 12
7  2009 10 12
8  2010 10 12
9  2011 10 12
10 2012 10 12
11 2013 10 12
12 2014 10 12
13 2015 10 12
14 2016 10 12
15 2017 10 12

报纸
丘延君 发表于 2017-7-26 14:44:15
或者可以考虑自编一个小函数来处理
> Date_Extr<-function(dtchr){#输入可以是一个中文日期,字符串向量输出的是数值型数据,用data.frame来装
+   lr<-length(dtchr)
+   StrDt<-strsplit(as.character(as.Date(dtchr, "%Y年%m月%d日")),split="-")
+   DtExt<-NULL
+   for(i in 1:lr){
+     dtvec<-as.numeric(StrDt[[i]])
+     Dtdf<-data.frame(y=dtvec[1],m=dtvec[2],d=dtvec[3])
+     DtExt<-rbind(DtExt,Dtdf)
+   }
+   DtExt
+ }
> Date_Extr(dtchr = "2013年10月12日")
     y  m  d
1 2013 10 12
> chr<-paste(2003:2017,"年10月12日",sep="")
> Date_Extr(chr)
      y  m  d
1  2003 10 12
2  2004 10 12
3  2005 10 12
4  2006 10 12
5  2007 10 12
6  2008 10 12
7  2009 10 12
8  2010 10 12
9  2011 10 12
10 2012 10 12
11 2013 10 12
12 2014 10 12
13 2015 10 12
14 2016 10 12
15 2017 10 12

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:40