Создание сводной переменной в R со значениями переменной «замена», если фокусная переменная равна NA - PullRequest
0 голосов
/ 30 августа 2018

У меня есть вопрос. В моем наборе данных есть три переменные "Национальность" (в виде трех отдельных столбцов):

  1. "Nationality_birth",
  2. "Национальность_не"
  3. "Nationality_difference" (эта переменная имеет значение, если значения "Nationality_birth" и "Nationality_now" расходятся - это указывает на то, к какой из двух национальностей кто-то чувствует себя более отрешенным - иначе NA)

Теперь я хочу создать четвертую переменную «Национальность», которая основана на «Nationality_difference» (фокусная переменная), но имеет значения «Nationality_birth» (замещающая переменная), если «Nationality_difference» равно NA.

Я попробовал следующий код:

data$Nationality <- data$Nationality_difference
data$Nationality[is.na(data$Nationality_difference)] <- data$Nationality_birth

Я получаю следующую ошибку:

Error in data$Nationality[is.na(data$Nationality_difference)] <- data$Nationality_birth : 
replacement has length zero

Что мне не хватает?

Заранее большое спасибо!

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете попробовать:

data$Nationality <- 
   ifelse(!is.na(data$Nationality_difference), 
            data$Nationality_difference, 
            data$Nationality_birth)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...