R 如何将三个变量合并为一个变量,该变量表示由逗号分隔的合并变量?
我有三个变量:年、月和日。如何将它们合并到一个变量(“日期”)中,以使变量表示为: 年月日R 如何将三个变量合并为一个变量,该变量表示由逗号分隔的合并变量?,r,variables,merge,R,Variables,Merge,我有三个变量:年、月和日。如何将它们合并到一个变量(“日期”)中,以使变量表示为: 年月日 提前感谢并致以最良好的问候 下面我们创建年-月-日字符串、yyyy-mm-dd字符串(除了一位数字的月和日被零填充到两位数字之外类似)和日期类。最后一个输出为yyyy-mm-dd,并且可以以字符串所不能的方式进行操作,例如,将一个添加到日期类对象中会给出第二天 首先,我们设置一些示例输入: year <- c(2017, 2015, 2014) month <- c(3, 1, 10) day
提前感谢并致以最良好的问候 下面我们创建年-月-日字符串、yyyy-mm-dd字符串(除了一位数字的月和日被零填充到两位数字之外类似)和日期类。最后一个输出为yyyy-mm-dd,并且可以以字符串所不能的方式进行操作,例如,将一个添加到日期类对象中会给出第二天 首先,我们设置一些示例输入:
year <- c(2017, 2015, 2014)
month <- c(3, 1, 10)
day <- c(15, 9, 25)
转换为日期类它在控制台上打印为yyyy-mm-dd。有两种选择:
as.Date(paste(year, month, day, sep = "-"))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
as.Date(ISOdate(year, month, day))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
as.character(as.Date(paste(year, month, day, sep = "-")))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
sprintf("%d-%02d-%02d", year, month, day)
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
转换为字符串yyyy-mm-dd在这种情况下,1位数的月份和日期被零填充为2个字符。两个备选方案:
as.Date(paste(year, month, day, sep = "-"))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
as.Date(ISOdate(year, month, day))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
as.character(as.Date(paste(year, month, day, sep = "-")))
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
sprintf("%d-%02d-%02d", year, month, day)
## [1] "2017-03-15" "2015-01-09" "2014-10-25"
如何将三个变量合并为一个变量 考虑两种方法:
dplyr
,lubridate
,以及数据帧并考虑数据类型。你可以有:
Date
或POSIXct
最终类型> y <- 2012:2015
> y
[1] 2012 2013 2014 2015
> m <- 1:4
> m
[1] 1 2 3 4
> d <- 10:13
> d
[1] 10 11 12 13
数据帧/Dplyr/Lubridate方式
>测向
年星期一
1 2012 1 10
2 2013 2 11
3 2014 3 12
4 2015 4 13
您是否尝试过粘贴?请在您的问题中添加示例数据,其中包含最小的可重复示例,例如。gdatatidyr::unite(df,“Date”,Y:D,sep=“-”)
如果不想保留原始列