如何在具有不同列规格的 R 中使用 pivot_longer 函数?

How do I use the pivot longer function in R with different col specifications?

我正在处理来自 github 的数据集,其中包含 8 个变量,现在只是想对其进行整理,所以我尝试了 pivot_longer 函数,如下所示:

corona_data <- read_csv("https://raw.githubusercontent.com/datasets/covid-19/master/data/time-series-19-covid-combined.csv")
glimpse(corona_data)    
pivot_longer(-Country/Region, names_to = "Date", values_to = "values") %>%

我想按列创建一个小标题,其中包含国家/地区、日期以及确诊和康复病例和死亡的变量。 我尝试了此功能的各种变体,但我不断收到有关不同列规格的错误。 我是 R 的新手,所以我将不胜感激!

您可以使用以下代码

library(tidyverse)

corona_data %>% 
  pivot_longer(-c(`Country/Region`, Date, Lat, Long, `Province/State`), names_to = "Name", values_to = "values")

如果只有确诊病例,您可以使用

corona_data %>% 
  pivot_longer(-c(`Country/Region`, Date, Lat, Long, `Province/State`), names_to = "Name", values_to = "values") %>% 
  subset(Name == "Confirmed")

同样,您可以获得康复和死亡的数据。

如果您只想要确诊、康复和死亡病例,请尝试这种方法:

library(dplyr)
library(tidyr)
library(readr)
#Data
corona_data <- read_csv("https://raw.githubusercontent.com/datasets/covid-19/master/data/time-series-19-covid-combined.csv")
#Code
corona_data %>% select(c(1,2,6,7,8)) %>%
  pivot_longer(cols = -c(1,2)) %>%
  arrange(name,`Country/Region`,Date)

输出:

# A tibble: 185,136 x 4
   Date       `Country/Region` name      value
   <date>     <chr>            <chr>     <dbl>
 1 2020-01-22 Afghanistan      Confirmed     0
 2 2020-01-23 Afghanistan      Confirmed     0
 3 2020-01-24 Afghanistan      Confirmed     0
 4 2020-01-25 Afghanistan      Confirmed     0
 5 2020-01-26 Afghanistan      Confirmed     0
 6 2020-01-27 Afghanistan      Confirmed     0
 7 2020-01-28 Afghanistan      Confirmed     0
 8 2020-01-29 Afghanistan      Confirmed     0
 9 2020-01-30 Afghanistan      Confirmed     0
10 2020-01-31 Afghanistan      Confirmed     0
# ... with 185,126 more rows