我正在尝试获取R中单元格的相应值,但无法这样做。我的df基本上有2列。一组5个观测值的日期和价格。我想知道最高价格在哪个日期。
我编写了以下代码,但只显示了Date
HH <- max(df$price, show = "Date")
HH
[1] Date
答案 0 :(得分:1)
我建议类似:
df$date[df$price == max(df$price)]
您可能会这样看待,向我展示df$date
的值,以使df$price
的值是价格列中的最大值。使用$
运算符选择一列,将[
和]
读为“ such that”,并注意==
的符号不是=
的{{ 1}}表示“也相等”,将使用==
(或=
)为变量赋值。您的答案应该是最高价格的日期。
答案 1 :(得分:0)
我想这就是你想要的; which.max
给出向量中最大值的索引。
df <- data.frame(date = 1:5, price = 6:10)
df
#> date price
#> 1 1 6
#> 2 2 7
#> 3 3 8
#> 4 4 9
#> 5 5 10
df$date[which.max(df$price)]
#> [1] 5
由reprex package(v0.2.0)于2018年12月10日创建。
答案 2 :(得分:0)
我不确定这是否是最快的方法,但是可以在dplyr中完成
library(tidyverse)
test <- data.frame(date = as.Date(c("2018-01-01","2018-01-02","2018-01-03", "2018-01-04", "2018-01-05")),
price = c(20, 35, 21, 39, 40))
answer <- test %>%
filter(price == max(test$price))