Как рассчитать показатели между наблюдениями с помощью R - PullRequest
1 голос
/ 15 марта 2020

Учитывая, что у меня есть фрейм данных, упорядоченный по дате, и для каждого из них у меня есть несколько величин, как я могу вычислить X день / X день-1 индекс для каждой строки?

Мой набор данных: https://raw.githubusercontent.com/imdevskp/covid_19_jhu_data_web_scrap_and_cleaning/master/covid_19_clean_complete.csv

Мой набор данных процесса (код R):

library(tidyverse)
library(lubridate)

covid19 <- read.table(file = "covid_19_clean_complete.csv",
                      header = TRUE,
                      stringsAsFactors = FALSE,
                      sep = ",",
                      dec = ".",
                      quote = "\"")

covid19$Date <- mdy(covid19$Date)

brasil <- covid19 %>%
    filter(Country.Region == "Brazil") %>%
    group_by(Country.Region, Date) %>%
    summarise(Cases = sum(Confirmed))

Моя оценка будет рассчитывается по кейсам по переменным.

1 Ответ

1 голос
/ 15 марта 2020

Мы можем взять lag из «дел» и использовать их для деления «дел»

library(dplyr)
out <- covid19 %>%
          group_by(Country.Region, Date) %>%
          summarise(Cases = sum(Confirmed)) %>%
          mutate(Ratio = Cases/lag(Cases))
out %>%
   filter(Country.Region == "Brazil") %>%
   tail
# A tibble: 6 x 4
# Groups:   Country.Region [1]
#  Country.Region Date       Cases Ratio
#  <chr>          <date>     <int> <dbl>
#1 Brazil         2020-03-08    20  1.54
#2 Brazil         2020-03-09    25  1.25
#3 Brazil         2020-03-10    31  1.24
#4 Brazil         2020-03-11    38  1.23
#5 Brazil         2020-03-12    52  1.37
#6 Brazil         2020-03-13   151  2.90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...