Функция R возвращает пустой фрейм данных, но работает тот же код из функции - PullRequest
0 голосов
/ 06 мая 2020

Прошу прощения, если это уже было решено где-то еще. Я нашел аналогичный вопрос, но не получил подходящего ответа.

То, что я пытаюсь сделать: Создание функции, которая выбирает соответствующие наблюдения в трех разных наборах данных по коду страны, делает basi c операции над этими наблюдениями, а затем объединение их с помощью общей переменной «Дата»

Точнее, я использую наборы данных OWID covid, и моя функция пытается создать фрейм данных, который содержит соответствующую информацию для данной страны, изначально распространенной в двух файлах.

Код ниже:

owid_may5 - это набор данных тестирования «Наш мир в данных»

owid_totalcases_may5 - это набор данных подтвержденных случаев «Наш мир в данных»

owid_daily_may5 - это подтвержденный набор данных о смертях из нашего мира в данных

«страна» в аргументе функции - это код страны ISO

    TreatCountry<- function(country) {
    ##This part of the function selects the data in relevant datasets
        filtered_country_tests <- owid_may5 %>% filter(Code=='country') 
        filtered_country_cases <- owid_totalcases_may5 %>% filter(Code=='country')
        filtered_country_deaths<- owid_daily_may5 %>% filter(Code=='country')
    ##This part of the function adds "Newtest" and "Newcases" columns calculated from the cumulative totals in the previous datasets
        filtered_country_tests$Newtests <- diff( c(0, filtered_country_tests$Total.tests))
        filtered_country_cases$Newcases <- diff( c(0, filtered_country_cases$cases ) )
##This part of the function joins the three datasets and then turns the result into POSIXt.
        joined<- inner_join(filtered_country_tests,filtered_country_cases,by='Date')
        joined<- inner_join(joined,filtered_country_deaths,by='Date')
        joined$Date <- anytime(c(joined$Date))
        return(joined)
      }

В результате я получаю фрейм данных с 12 переменными (как ожидается), но ... 0 наблюдений.

Теперь о странной части: Когда я набираю точное s ame, но замените "страну" любым кодом страны, код работает должным образом, и я получаю фрейм данных со всеми соответствующими переменными и наблюдениями.

Заранее благодарим за помощь

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