我在数据框的一栏中有时间戳记。他们看着像是
"Tue May 14 21:57:04 +0000 2013"
我想只用月份名称替换整个时间戳。我如何在R中做到这一点?可以说列名是“时间戳”,数据帧名是“ Df”。
以下是一些其他条目的示例。
"Wed Jul 10 01:30:36 +0000 2013"
"Fri Apr 20 01:46:59 +0000 2012"
"Sat Jul 07 17:56:34 +0000 2012"
"Sat Mar 16 02:12:30 +0000 2013"
"Sat Feb 16 02:29:11 +0000 2013"
我希望这些看起来像
Jul
Apr
Jul
Mar
Feb
非常感谢您的帮助。
我们可以使用sub
。匹配一个或多个非空白字符(\\S+
),然后匹配一个或多个空白(\\s+
),然后将非空白作为一个组((\\S+)
)捕获,再捕获字符,直到字符串的结尾,并将其替换为反向引用(\\1
)。对于捕获的组。
sub("\\S+\\s+(\\S+).*", "\\1", v1)
#[1] "May" "Jul" "Apr" "Jul" "Mar" "Feb"
如果我们知道如何获取format
正确的数据,则最好使用DateTime转换(如注释中提到的@DirkEddelbuettel)。
v1 <- c("Tue May 14 21:57:04 +0000 2013", "Wed Jul 10 01:30:36 +0000 2013",
"Fri Apr 20 01:46:59 +0000 2012", "Sat Jul 07 17:56:34 +0000 2012",
"Sat Mar 16 02:12:30 +0000 2013", "Sat Feb 16 02:29:11 +0000 2013")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句