如何在具有不同列规格的 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
我正在处理来自 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