ArrayId以显示which.max的结果的某些列

ArrayId以显示which.max的结果的某些列,r,indexing,R,Indexing,我很确定我应该能够使用arrayInd()来实现这一点,但我仍然在绕R转,我在这里遗漏了一些基本的东西 我有一个包含两个日期列的数据框。我用它们之间的差异计算了一个新列。所以现在我有了df$before\u date,df$before\u date和df$days\u out 我可以这样做,以查看df$days\u out中最大值和最小值的索引: > which.min(df$days_out) [1] 18704 > which.max(df$days_out) [1] 8018

我很确定我应该能够使用arrayInd()来实现这一点,但我仍然在绕R转,我在这里遗漏了一些基本的东西

我有一个包含两个日期列的数据框。我用它们之间的差异计算了一个新列。所以现在我有了
df$before\u date
df$before\u date
df$days\u out

我可以这样做,以查看
df$days\u out
中最大值和最小值的索引:

> which.min(df$days_out)
[1] 18704
> which.max(df$days_out)
[1] 80183
然后我可以浏览并查看日期信息:

> df[80183, 5]
[1] "1973-12-17"
> df[80183, 6]
[1] "2010-08-13"
> df[80183, 12]
Time difference of 13388 days
我正试图找出如何一下子做到这一点,所以我会得到如下结果:

         df$before_date    df$after_date    df$days_out
[80183]  1973-12-17        2010-08-13       13388

我错过了什么?

也许是这样的

df[80183, c(5,6,12)]
或者,您可以在一次过程中计算最大值和最小值:

df[
  c(which.max(df$days_out),which.min(df$days_out)), 
  c('days_out','before_date','after_date')
  ]

这是一个可重复的例子。答案将取决于数据的结构,特别是日期列的类别。我进行了编辑以添加更好的解决方案。我仍然不明白arrayInd是做什么的,但这正是我所需要的。