R 如何在数据集中的行内按递增顺序对日期排序
所以我尝试对我的数据进行模拟,我的数据集包含日期变量。我能够为这些变量生成随机日期。所有日期都在从x到y的时间段内。但是,我需要确保,对于每次观察,第3列中的日期都在第5列中的日期之前,依此类推 这是我用来为每个变量生成日期的代码:R 如何在数据集中的行内按递增顺序对日期排序,r,sorting,R,Sorting,所以我尝试对我的数据进行模拟,我的数据集包含日期变量。我能够为这些变量生成随机日期。所有日期都在从x到y的时间段内。但是,我需要确保,对于每次观察,第3列中的日期都在第5列中的日期之前,依此类推 这是我用来为每个变量生成日期的代码: sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50) 所以我的问题是如何遍历每一行,并确保日期按升序排列 谢谢:像这样吗?如果这是您的目标,我可以对代码进行注释,以便更容易理解
sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50)
所以我的问题是如何遍历每一行,并确保日期按升序排列
谢谢:像这样吗?如果这是您的目标,我可以对代码进行注释,以便更容易理解。此外,在将来发布问题时,最好包含代码的可复制示例
set.seed(123)
df1 = data.frame(id = 1:50,
date_1 = sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50),
var_1 = sample(1:50, 50),
date_2 = sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50),
var_2 = sample(1:50, 50),
date_3 = sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50),
var_3 = sample(1:50, 50))
date_pos <- grepl("date", names(df1))
df1[date_pos] <- t(apply(df1[date_pos], 1, sort))
head(df1)
id date_1 var_1 date_2 var_2 date_3 var_3
1 1 2012-09-02 3 2013-01-05 43 2015-03-15 13
2 2 2013-05-01 22 2016-07-08 25 2017-09-26 11
3 3 2013-11-11 39 2014-06-02 19 2015-03-18 29
4 4 2014-08-08 6 2017-03-06 12 2017-09-04 50
5 5 2013-10-25 26 2014-05-18 6 2017-07-29 25
6 6 2011-04-27 10 2017-02-25 18 2017-03-23 36
您好,这是一个编码平台,请不要使用图像,而是复制粘贴您的代码或数据,谢谢!是的,谢谢。但是它对我不起作用,它给了我这个错误消息错误在[你能把你的数据作为你的问题的编辑吗?或者你用来创建数据的代码。我在1:50{data\u hcv[I,date\u pos]中使用了这个代码