Из SPSS в R: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 317:
 
===В ту же переменную===
Здесь трудно добавить что-то новое. Просто с левой и правой стороны оператора присваивания "<-" мы используем имя одной и той же переменной:
<code><pre>test$AGE <- cut(test$AGE, breaks = c(0, 35, 60, 100))
# or
test$AGE <- recode(test$AGE, "0:35='Young'; 36:60='Adult'; else='Aged'")</pre></code>
Единственная хитрость появляется при индексировании. Покажем на примере:
<code><pre> > aa <- test$AGE
> aa
[1] 42 18 49 62 25
> # Производим первое замещение:
> aa[aa <= 35] <- "Young"
> aa
[1] "42" "Young" "49" "62" "Young"</pre></code>
В результате этой операции все значения были преобразованы в символьный формат, поэтому дальнейшие попытки сравнить переменную с числом 60 ни к чему не приведут. Решение, которое я здесь предлагаю, это создать временный объект, использовать его при индексации нашей переменной, а затем просто удалить его.
<code><pre>> age <- test$AGE
> test$AGE[age <= 35] <- "Young"
> test$AGE[age > 35 & age <= 60] <- "Adult"
> test$AGE[age > 60] <- "Aged"
> rm(age)
> test$AGE
[1] "Adult" "Young" "Adult" "Aged" "Young"</pre></code>
Естественно, все остальные приемы с уровнями и упорядочиванием остаются в силе.
 
==Пропущенные значения==