Я пытаюсь преобразовать лист Country Ratings, Status из файла Excel 2020_Country_and_Territory_Ratings_and_Statuses_FIW1973-2020.xlsx в аккуратный формат данных. Ссылка на файл
В этом процессе я загрузил книгу и сохранил ее в CSV-файл под названием Freedom.csv.
Файл CSV выглядит так: Ввод данных
Информация, которую я систематизирую и собираю из этого CSV:
- Страна
- Год (ы) на рассмотрении
- PR
- CL
- Положение дел
Как бы вы преобразовали файл в этот формат?
Код, который я пытался использовать в файле, был
library(tidyverse) filelocation<- «./Data/» FreedomIndex <- read.csv(file = paste0(filelocation,’Freedom.csv’),skip=2) col2 = paste(rep(c(«PR», «CL», «Status»), 47),rep(1973:2019, each=3), sep = «-«) RenamesCol = c(«Country», col2) colnames(FreedomIndex) = RenamesCol Freedomtidy<-FreedomIndex %>% pivot_longer(cols = c(col2), names_to = «Type», values_to = «Freedom») %>% arrange(«Country») Freedomtidy = separate(data = Freedomtidy, col = Type, into = c(«Type», «year»), sep = «-«) Freedomtidy %>% pivot_wider(names_from = «Type», values_from = «Freedom») %>% arrange(«Country», «year») Freedomtidy %>% pivot_wider(id_cols = c(«Country», «year»), names_from = «Type», values_from = «Freedom») %>% arrange(«Country», «year»)
Этот код не преобразовал данные в требуемый формат. Я получил ‹chr 1› в возвращенных данных.
Также важно отметить, что списки во фрейме данных выглядят следующим образом:
Freedomtidy$PR[1]
Выход:
[[1]] [1] «4»
Я проверил ваши коды с небольшим изменением с pivot_longer(cols = c(col2) на pivot_longer(cols = all_of(col2). Столбцы не преобразуются в столбцы-списки. Вы можете попробовать. — person Bonnie schedule 30.01.2021
Спасибо, что внесли это изменение, он по-прежнему возвращает список. Фреймворк данных, возвращенный в конце, содержит столбцы: Страна ‹chr›, год ‹chr›, PR ‹list›, CL ‹list›, Статус ‹list›. В качестве примера вывод «Freedomtidy $ PR [1]» возвращает [[1]] [1] 4 — person Bonnie schedule 30.01.2021
Это странно. Я запустил коды с небольшими изменениями, и я не получил столбцов списка. Возможно, вы захотите проверить, используете ли вы последнюю версию пакета. — person Bonnie schedule 30.01.2021
Источник: