Этот набор данных - полный беспорядок!
Вот некоторые из проблем (для тех, кто более амбициозен или осведомлен, кто может ответить на этот вопрос):
- странные символы и символы в именах артистов (вам нужно будет использовать
encoding="UTF-8"
при чтении файла в)
- некоторые элементы читаются справа налево (не знаю, как это исправить!)
- В некоторых именах артистов есть вкладки
- у некоторых элементов в именах есть "\ t", что затрудняет обычный поиск без предварительного поиска и замены всех этих
- некоторые имена исполнителей находятся более чем в одной строке (что приводит к строке, в которой есть только последняя часть имени исполнителя) (и, да, перенос по словам отключен)
Мое предложение состоит в том, чтобы сначала много чего почистить с помощью хорошего текстового редактора (я использовал SciTE без проблем). Некоторые из основных очисток, которые мне пришлось сделать, чтобы загрузить весь файл, включали удаление дополнительных вкладок (должна быть только одна вкладка, разделяющая идентификатор исполнителя и имя исполнителя) с использованием некоторых регулярных выражений для удаления строк, которые не начните с цифры и убедитесь, что все окончания строк были одинаковыми (исходный файл имеет разные окончания строк в определенных местах).
После этого вам лучше всего загружать данные, находить проблемные строки (R должен сообщить вам, когда обнаружит ошибку), исправлять их в текстовом редакторе, перезагружать данные, находить проблемные строки ... пока вы не получите без ошибок, используя:
artist.data = read.delim("artist_data.txt", header=F, sep="\t", encoding="UTF-8")
Мне удалось открыть свой полуочищенный текстовый файл в Gnumeric, где я смог обнаружить еще несколько проблем после сортировки строк в порядке возрастания, но я не думаю, что это необходимо.
Даже после всего этого ваш набор данных будет все еще беспорядочным, хотя бы потому, что не все имена исполнителей были правильно записаны в базе данных Audioscrobbler из-за плохого управления тегами. Таким образом, у вас, скорее всего, будут исполнители типа «02Nine ihch Nalis-Heard like».
Если кто-нибудь может предложить эффективный способ очистки этих данных, я бы с удовольствием их изучил! Кажется, это было бы полезно знать.