У меня есть набор данных, относящихся к различным исследованиям (представлен в строках), со столбцами, содержащими информацию о стране, количестве участников и т. Д.
Я хочу очистить данные по стране, так как есть небольшие ошибки, например, лишние пробелы, разные варианты написания / сокращения и т. д.
Для этого я создал новую переменную country_mod
, чтобы я мог сохранить исходные данные, используя существующую переменную страны. Я проверил уровни в этой новой переменной и использовал это, чтобы написать некоторые функции замены (согласно коду ниже). Когда я запускаю их, сообщений об ошибках нет, но повторная проверка уровней показывает, что ничего не изменилось и значения не были перекодированы.
например. В приведенном ниже примере я ожидал, что значения «Австралия» будут заменены на «Австралия», но, похоже, ничего не произошло.
Это действительно базовая функция, но я не могу на всю жизнь понять, почему она не работает - я действительно буду рад любым предложениям о том, где я иду не так.
Я посмотрел онлайн и не могу найти ответы на этот вопрос.
Вот мой код ниже - набор данных называется studies
; исходная переменная называется Country
; новая переменная называется country_mod
.
#Create new, modified variable for country
studies$country_mod <- studies$Country
#Check what the different levels are
levels(studies$country_mod)
'Australia' 'Australia ' 'Belgium' 'Canada' 'Denmark' 'Estonia' 'Finland' 'France' 'Germany' 'Greece' 'Hong Kong' 'Hungary' 'Ireland' 'Israel' 'Italy' 'Japan' 'multiple' 'Netherlands' 'New Zealand' 'Norway' 'Poland' 'Portugal' 'Scotland' 'South Korea' 'Spain' 'Spain ' 'Sweden' 'Switzerland' 'Taiwan' 'UK' 'United Kingdom' 'United States' 'United States (Puerto Rico)' 'Uruguay' 'US Virgin Islands' 'USA' 'USA - Puerto Rico'
# Duplicate values for Australia - one has a space in it. Let's recode it.
studies$country_mod[studies$country_mod=="Australia "] <- "Australia"
levels(studies$country_mod)
'Australia' 'Australia ' 'Belgium' 'Canada' 'Denmark' 'Estonia' 'Finland' 'France' 'Germany' 'Greece' 'Hong Kong' 'Hungary' 'Ireland' 'Israel' 'Italy' 'Japan' 'multiple' 'Netherlands' 'New Zealand' 'Norway' 'Poland' 'Portugal' 'Scotland' 'South Korea' 'Spain' 'Spain ' 'Sweden' 'Switzerland' 'Taiwan' 'UK' 'United Kingdom' 'United States' 'United States (Puerto Rico)' 'Uruguay' 'US Virgin Islands' 'USA' 'USA - Puerto Rico'