Как получить соответствующее значение ячейки результата в R - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь получить соответствующее значение ячейки в R, но не могу этого сделать.Мой DF имеет в основном 2 столбца.Дата и цена для набора из 5 наблюдений.Я хочу знать, на какую дату была максимальная цена.

Я написал приведенный ниже код, но он показывает только Date

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

HH

[1] Date

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

Я не уверен, что это самый быстрый способ, но это можно сделать в 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))
0 голосов
/ 10 декабря 2018

Я предлагаю что-то вроде:

df$date[df$price == max(df$price)]

Вы можете прочитать это, покажите мне значение для df$date, такое, что значение для df$price является максимальным значением в столбце цены.Используйте оператор $, чтобы выбрать столбец, прочитайте [ и ] как «такие, что» и обратите внимание, что знак == не =, поскольку == означает «равно» и = (или <-) будет использоваться для присвоения значения переменной.Ваш ответ должен быть датой, когда цена была максимальной.

0 голосов
/ 10 декабря 2018

Я думаю, это то, что вы хотите;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

Создан в 2018-12-10 пакетом представлением (v0.2.0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...