ArrayId以显示which.max的结果的某些列
我很确定我应该能够使用arrayInd()来实现这一点,但我仍然在绕R转,我在这里遗漏了一些基本的东西 我有一个包含两个日期列的数据框。我用它们之间的差异计算了一个新列。所以现在我有了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
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是做什么的,但这正是我所需要的。