【发布时间】:2020-05-02 19:45:06
【问题描述】:
我正在尝试分析一些冠状病毒数据以查看每天的病例等。我在 CDC 网站上找到了数据,格式不整齐,每个日期都有自己的列。我正在使用 pivot_longer 转置数据。下面的工作是读入数据,对其进行透视,并使用 mutate 将日期的列数据类型更改为日期。
library(tidyverse)
library(lubridate)
deaths = read_csv("https://usafactsstatic.blob.core.windows.net/public/data/covid-19/covid_deaths_usafacts.csv")
deaths2 = deaths %>%
rename(county = `County Name`, state = State) %>%
pivot_longer(-c(countyFIPS, county, state, stateFIPS), names_to = "date", values_to = "deaths_cumulative") %>%
mutate(date = mdy(date)) %>%
select(state, county, date, deaths_cumulative)
但是,我正在尝试使用 pivot_longer 的 names_ptypes 参数来指定该步骤中的数据类型。如果我执行以下操作,日期列确实以日期数据类型结束,但列中的所有值都是 NA。我不确定发生了什么事。也许它需要一种格式,但据我所知,日期不允许。有没有办法做到这一点?
deaths2 = deaths %>%
rename(county = `County Name`, state = State) %>%
pivot_longer(-c(countyFIPS, county, state, stateFIPS), names_to = "date", values_to = "deaths_cumulative", names_ptypes = list(date = Date())) %>%
select(state, county, date, deaths_cumulative)
【问题讨论】:
-
找不到函数
Date,是来自readr还是lubridate -
@akrun 老实说,我不确定。我在网上找到的帮助和示例说你可以使用像 integer() 或 numeric() 这样的类型,所以我尝试了 date(),但没有奏效(它将值保留为字符),然后我尝试了 Date() 和它将列更改为日期格式,但导致 NA。因此,解决方案可能涉及 Date 或其他内容,也可能是不可能的。
-
Date是我找不到的一个函数。可能与您的软件包版本有关。我不确定。