Я очень новичок в R, и я пытаюсь сопоставить определения словаря данных с набором данных, чтобы сделать более читаемый текст.Сопоставление данных в R с отсутствующими значениями
Например, на основе словаря данных в наборе данных Ames Iowa в настоящее время на Kaggle, я пытаюсь сопоставить зонирование домов.
mapping <- list(
'A'='Agriculture',
'C (all)'='Commercial',
'FV'='Floating Village Residential',
'I'='Industrial',
'RH'='Residential High Density',
'RL'='Residential Low Density',
'RP'='Residential Low Density Park',
'RM'='Residential Medium Density'
)
housingData$MSZoning <- as.factor(as.character(mapping[origData$MSZoning]))
Исходный набор данных не содержит значений для всех этих точек данных.
> table(origData$MSZoning)
C (all) FV RH RL RM
10 65 16 1151 218
После сопоставления с моим кодом пары значений ключа не выравниваются. (Например, сельское хозяйство сопоставляется с «С».) Я считаю, что пустые значения в исходных данных отбрасывают мое сопоставление.
> table(housingData$MSZoning, origData$MSZoning)
C (all) FV RH RL RM
Agriculture 10 0 0 0 0
Commercial 0 65 0 0 0
Floating Village Residential 0 0 16 0 0
Industrial 0 0 0 1151 0
Residential High Density 0 0 0 0 218
Может ли кто-нибудь помочь с более подходящим способом обеспечения надлежащего соответствия этих ключей и значений?
Спасибо!
Ничего себе, 4,5 года, и это ваш первый вопрос? Это впечатляет ... Серьезно, возможно, «recode» будет работать на вас? Кроме того, хотя у него есть некоторые преимущества, есть ли конкретная причина, по которой вы используете 'factor'? – r2evans
Спасибо, r2evans. Я смог ответить на этот вопрос с вашей помощью. Что касается факторов, я скопировал код из серии «Отлично, хорошо, хорошо, плохо». Я согласен с тем, что эта реализация, возможно, не была наиболее подходящим использованием факторов. –
(В дополнение к ответе на свой собственный вопрос, вы должны «принять» его, если вы не ожидаете, что кто-то еще предоставит ответ.) – r2evans