arrayInd显示某些列的结果.max

时间:2012-11-29 02:49:21

标签: r indexing

我很确定我应该能够使用arrayInd()来做到这一点,但我仍然把我的脑袋包裹在R周围,我在这里缺少一些基本的东西。

我有一个包含两个日期列的数据框。我计算了一个新的列,它们之间有区别。现在我有df$before_datedf$after_datedf$days_out

我可以这样做以查看df$days_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

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

也许是这样的?

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')
  ]