R 如何在数据集中的行内按递增顺序对日期排序

R 如何在数据集中的行内按递增顺序对日期排序,r,sorting,R,Sorting,所以我尝试对我的数据进行模拟,我的数据集包含日期变量。我能够为这些变量生成随机日期。所有日期都在从x到y的时间段内。但是,我需要确保,对于每次观察,第3列中的日期都在第5列中的日期之前,依此类推 这是我用来为每个变量生成日期的代码: sample(seq(as.Date('2011/01/01'), as.Date('2018/01/01'), by="day"),50) 所以我的问题是如何遍历每一行,并确保日期按升序排列 谢谢:像这样吗?如果这是您的目标,我可以对代码进行注释,以便更容易理解

所以我尝试对我的数据进行模拟,我的数据集包含日期变量。我能够为这些变量生成随机日期。所有日期都在从x到y的时间段内。但是,我需要确保,对于每次观察,第3列中的日期都在第5列中的日期之前,依此类推

这是我用来为每个变量生成日期的代码:

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]中使用了这个代码