如何合并和取消合并字符向量?
How to merge and unmerge a character vector?
我需要通过一系列计算来跟踪我的数据。
我有以下载体:
start_date <- "2010-11-04"
end_date <- "2010-11-10"
我希望将它们合并成一个字符向量,如下所示
"2010-11-04 to 2010-11-10"
那我要倒数:
从:"2010-11-04 to 2010-11-10"
回到原来的两个向量
这不使用任何包:
p <- paste(start_date, "to", end_date)
p
## [1] "2010-11-04 to 2010-11-10"
在另一个方向上删除第一个 space 之后的所有内容以获取表示第一个日期的字符串并删除最后一个 space 之前的所有内容以获取表示第二个日期的字符串:
sub(" .*", "", p)
## [1] "2010-11-04"
sub(".* ", "", p)
## [1] "2010-11-10"
另一种方法是使用 strsplit
:
拆分字符串
s <- unlist(strsplit(p, " to "))
s
## [1] "2010-11-04" "2010-11-10"
所以s[1]是表示第一个日期的字符串,s[2]是表示第二个日期的字符串。
更新: 根据 Richard Scriven 的评论修改。
我需要通过一系列计算来跟踪我的数据。
我有以下载体:
start_date <- "2010-11-04"
end_date <- "2010-11-10"
我希望将它们合并成一个字符向量,如下所示
"2010-11-04 to 2010-11-10"
那我要倒数:
从:"2010-11-04 to 2010-11-10"
回到原来的两个向量
这不使用任何包:
p <- paste(start_date, "to", end_date)
p
## [1] "2010-11-04 to 2010-11-10"
在另一个方向上删除第一个 space 之后的所有内容以获取表示第一个日期的字符串并删除最后一个 space 之前的所有内容以获取表示第二个日期的字符串:
sub(" .*", "", p)
## [1] "2010-11-04"
sub(".* ", "", p)
## [1] "2010-11-10"
另一种方法是使用 strsplit
:
s <- unlist(strsplit(p, " to "))
s
## [1] "2010-11-04" "2010-11-10"
所以s[1]是表示第一个日期的字符串,s[2]是表示第二个日期的字符串。
更新: 根据 Richard Scriven 的评论修改。