Структурировать символьные данные во фрейм данных
Я использовал пакет rvest в R для очистки некоторых веб-данных, но у меня много проблем с переводом их в пригодный для использования формат.
Мои данные в настоящее время выглядят так:
test
[1] "v. Philadelphia"
[2] "TD GardenRegular Season"
[3] "PTS: 23. Jayson TatumREB: 10. M. MorrisAST: 7. Kyrie Irving"
[4] "PTS: 23. Joel EmbiidREB: 15. Ben SimmonsAST: 8. Ben Simmons"
[5] "100.7 - 83.4"
[6] "@ Toronto"
[7] "Air Canada Centre Regular Season"
[8] "PTS: 21. Kyrie IrvingREB: 10. Al HorfordAST: 9. Al Horford"
[9] "PTS: 31. K. LeonardREB: 10. K. LeonardAST: 7. F. VanVleet"
[10] "115.6 - 103.3"
Может ли кто-нибудь помочь мне выполнить правильные операции, чтобы он выглядел примерно так (как фрейм данных) и предоставить код, я был бы очень признателен:
Opponent Venue
Philadelphia TD Garden
Toronto Air Canada Centre
Мне не нужна никакая другая информация.
1 ответ
Решение
Дайте мне знать, если есть какие-либо проблемы:)
# put your data in here
input <- c("v. Philadelphia", "TD GardenRegular Season",
"", "", "",
"@ Toronto", "Air Canada Centre Regular Season",
"", "", "")
index <- 1:length(input)
# raw table format
out_raw <- data.frame(Opponent = input[index%%5==1],
Venue = input[index%%5==2])
# using stringi package
install.packages("stringi")
library(stringi)
# copy and clean up
out_clean <- out_raw
out_clean$Opponent <- stri_extract_last_regex(out_raw$Opponent, "(?<=\\s).*$")
out_clean$Venue <- trimws(gsub("Regular Season", "", out_raw$Venue))
out_clean