2015-12-29 1 views
0

Я хочу создать новый столбец, который сообщает, содержит ли отдельный столбец (= 1) или не содержит (= 0) данных.Как создать новый столбец, который указывает, содержит ли другой столбец NA или нет?

Один из способов сделать это - создать столбец, пробитый всеми 0, а затем заменить, если фокальный столбец не является NA - но это кажется мне очень неаккуратным. Я предполагаю, что есть один лайнер (если: еще стиль), который более изящный. Я чрезвычайно новичок в R и не программировал много лет.

Просьба сообщить.

Два лайнера:

данные $ New_Column < - 0

данные $ New_Column [! Is.na (данные $ FocalColumn)] < - 1

+0

Я думаю, что ответ @ sgibb - это то, что вы ищете, но я также не думаю, что альтернатива «очень неряшлива». Я хотел бы оставить это описание доступным для ряда более отвратительных преступлений. – Sophologist

+0

@ Софолог Справедливая точка. Спасибо за поддержку. – Ivan

ответ

4

Вы можете использовать ifelse :

data$NewColumn <- ifelse(is.na(data$FocalColumn), 0, 1) 

Или конвертировать e логические значения в числовые:

data$NewColumn <- as.numeric(!is.na(data$FocalColumn)) 
+0

W00t! Моя интуиция была правильной, и вы предоставили мне то, о чем я мечтал. Благодаря! – Ivan

Смежные вопросы