我如何获得R中结果的相应单元格值

时间:2018-12-10 17:06:10

标签: r dplyr

我正在尝试获取R中单元格的相应值,但无法这样做。我的df基本上有2列。一组5个观测值的日期和价格。我想知道最高价格在哪个日期。

我编写了以下代码,但只显示了Date

HH <- max(df$price, show = "Date")

HH

[1] Date

3 个答案:

答案 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))