Как мне создать двоичную переменную, полностью противоположную другой? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь создать двоичную переменную как ответ на другую двоичную переменную

Это набор данных gpa2 из библиотеки Вулдриджа. Я пытался создать переменную male с циклом while, но он все еще не работает. Я уже пытался добавить операторы else, но это не сработало.

library(wooldridge)
gpa2 <- gpa2
for(i in 1:length(gpa2$female)){
if(gpa2$female == 0 ){
gpa2$male = 1
 }
}

Я ожидаю, что мужчина будет 0, когда женщина - 1, а мужчина - 1, когда женщина - 0, но результат, который я получаю, - это мужчина = 0 для каждого наблюдения.

1 Ответ

1 голос
/ 02 июня 2019
gpa2$male<-as.numeric(!gpa2$female)

Вы действительно упускаете R, если делаете все с помощью for-loop. Чаще всего есть гораздо более быстрый способ сделать то, что вы пытаетесь сделать, используя встроенную способность r для векторизации действий. В этом случае мы просто берем gpa2$female, используем !, чтобы перевернуть 0 в ИСТИНЫ, а 1 - в ЛОЖЬ, а затем преобразовать это в числовой формат, чтобы они выглядели как 1 и 0 соответственно, и поместить весь вектор в * 1004. *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...