在具有 POSIXct 格式日期列的数据框中,与另一列中的特定数字关联的日期是什么?
In a dataframe with a date column in POSIXct format, what is the date associated to a specific number in another column?
上一个问题的后续问题:
在我的数据框中 CORtrial 我有两列,rDate POSixct
格式来自 2015-07-27 17:45:00
直到 2017-08-31 16:55:00
和 REFN630 格式为 numeric
。 REFN630的值以5分钟5的时间间隔记录在rDate中。
这是我的数据框的结构:
dput(head(CORtrial,10))
structure(list(rDate = structure(c(1438019100, 1438019400, 1438019700,
1438020000, 1438020300, 1438020600, 1438020900, 1438021200, 1438021500,
1438021800), class = c("POSIXct", "POSIXt"), tzone = ""), REFN630 = c(0.0111940298507463,
0.0671936758893281, 0.0143198090692124, 0.0087719298245614, 0.00936768149882904,
0.00985221674876847, 0.00775193798449612, 0.00815217391304348,
0.00859598853868195, 0.00911854103343465)), row.names = c(NA,
-10L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x0000024f693c1ef0>)
我使用此代码在 rDate 2015-10-27 22:25:00
和 2015-07-27 22:50:00
之间得到了 REFN630 的最大值:
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"), ymd_hms("2015-07-27 22:50:00"))) %>%
summarise(Maximum = max(REFN630, na.rm = TRUE))
Maximum
1 0.01431981
现在我想确切地知道 rDate 与从上面的代码中提取的最大值相关联。
提前致谢。
而不是 summarise
,可以使用 slice_max
来获取包含 max
'REFN630'
的行
library(dplyr)
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"),
ymd_hms("2015-07-27 22:50:00"))) %>%
slice_max(order_by = REFN630, n = 1)
或者另一种选择是 which.max
获取 max
的索引并使用它来对 'rDate'
进行子集化
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"),
ymd_hms("2015-07-27 22:50:00"))) %>%
summarise(rDate = rDate[which.max(REFN630)])
上一个问题的后续问题:
在我的数据框中 CORtrial 我有两列,rDate POSixct
格式来自 2015-07-27 17:45:00
直到 2017-08-31 16:55:00
和 REFN630 格式为 numeric
。 REFN630的值以5分钟5的时间间隔记录在rDate中。
这是我的数据框的结构:
dput(head(CORtrial,10))
structure(list(rDate = structure(c(1438019100, 1438019400, 1438019700,
1438020000, 1438020300, 1438020600, 1438020900, 1438021200, 1438021500,
1438021800), class = c("POSIXct", "POSIXt"), tzone = ""), REFN630 = c(0.0111940298507463,
0.0671936758893281, 0.0143198090692124, 0.0087719298245614, 0.00936768149882904,
0.00985221674876847, 0.00775193798449612, 0.00815217391304348,
0.00859598853868195, 0.00911854103343465)), row.names = c(NA,
-10L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x0000024f693c1ef0>)
我使用此代码在 rDate 2015-10-27 22:25:00
和 2015-07-27 22:50:00
之间得到了 REFN630 的最大值:
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"), ymd_hms("2015-07-27 22:50:00"))) %>%
summarise(Maximum = max(REFN630, na.rm = TRUE))
Maximum
1 0.01431981
现在我想确切地知道 rDate 与从上面的代码中提取的最大值相关联。
提前致谢。
而不是 summarise
,可以使用 slice_max
来获取包含 max
'REFN630'
library(dplyr)
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"),
ymd_hms("2015-07-27 22:50:00"))) %>%
slice_max(order_by = REFN630, n = 1)
或者另一种选择是 which.max
获取 max
的索引并使用它来对 'rDate'
df %>%
filter(ymd_hms(rDate) %within%
interval(ymd_hms("2015-07-27 22:25:00"),
ymd_hms("2015-07-27 22:50:00"))) %>%
summarise(rDate = rDate[which.max(REFN630)])