У меня есть файлы с кучей городов (до сих пор 183), и ни один из них не имеет графств, сопоставленных с ними, что мне нужно. Для перекодировки категориальных переменных я обычно использую функцию rename() plyr, но я не хочу писать грязную неприятную часть кода, чтобы перекодировать все эти города. В последнее время я изучал немного питона, и эта проблема немного напоминала проблему словаря/хеш-таблицы. Я хотел бы научиться делать что-то более программное, если это возможно.Перекодирование 150 + категориальных переменных в R
В качестве первого снимка я пошел вперед и создал .csv, который имеет имя каждого города в одной колонке, а его графство - в другом. Я надеялся присоединиться к этому вместе как-то с файлом, в котором я нуждаюсь, чтобы вещи могли быть сопоставлены. Некоторые минимальный код, чтобы показать, что я имею в виду:
#key_file:
LocalityName <- c('Addy', 'Burien', 'Newman Lake', 'Seattle', 'Tacoma')
CountyName <- c('Stevens', 'King', 'Spokane', 'King', 'Pierce')
key <- cbind.data.frame(LocalityName, CountyName)
#real_file:
LocalityName <- c('Seattle', 'Seattle', 'Tacoma', 'Seattle', 'Newman Lake')
CountyName <- rep(NA, length(LocalityName))
Extra_Example_Col <- c('Y', 'Y', 'N', 'N', 'N')
real <- cbind.data.frame(LocalityName, CountyName, Extra_Example_Col)
Я попытался с помощью присоединиться() в plyr, но не мог заставить его работать (я могу обновить с моим кодом, если это правильный путь для меня, чтобы следовать, не уверен). Я тоже знаю о пакете sqldf, но так как я просто изучаю SQL впервые и не уверен, что это тип соединения? Мой мозг думает об этом как о «одно-много» картировании.
Я думаю, что пытаться изучить все эти другие языки прямо сейчас меня немного сбивает с толку, но это дает мне некоторые идеи о том, как пробовать вещи. Мое предпочтительное решение было бы идиоматичным.
Ничего себе, я делал так слишком сложно. Я сделал это только в соединении, но позвольте ошибке, которую я получил, заставлял меня думать, что это не правильный метод. Спасибо. Я попытаюсь выяснить небольшую ошибку. – HFBrowning
Я также предлагаю посмотреть файлы справки для функций при запуске задач ('? Join' или'? Merge'). – ialm