У меня есть некоторые данные, которые я пытаюсь использовать tidy R и функцию pivot long в R, чтобы получить результат, как указано ниже. Но я не могу этого сделать, я получаю данные
У меня есть данные в этом формате. (со многими другими именами столбцов)
Country State Year 1 Population 1 Year 2 Population2
U.S.A IL 2009 20000 2010 30000
U.S.A VA 2009 30000 2010 40000
Я хочу получить данные в этом формате.
Country State Year Population
U.S.A IL 2009 20000
U.S.A IL 2010 30000
U.S.A VA 2009 30000
U.S.A VA 2010 40000
Я могу сделать это только для столбца, но не могу передатьдругим столбцам нравится, например, население
Мой код указан ниже.
file1<-file %>%
pivot_longer(
cols = contains("Year"),
names_sep = "_",
names_to = c(".value", "repeat"),
)
Мне удалось заставить его работать на Tidyverse.
library(tidyverse)
file<-read_excel("peps300.xlsx")
names(file)<-str_replace_all(names(file), c("Year " = "Year_" , "Num " = "Num_", "DRate " = "DRate_" , "PRate " = "PRate_", "Denom " = "Denom_"))
file<-file %>%
pivot_longer(
cols = c(contains("Year"),contains("Num"),contains("DRate"),contains("PRate"),contains("Denom")),
names_sep = "_",
names_to = c(".value", "repeat")
)