У меня есть дата-рамка, в которой я хочу создать новый столбец с 0/1 (который будет представлять отсутствие/наличие вида) на основе записей в предыдущих столбцах. Я пытался это:Создать новый столбец с двоичными данными на основе нескольких столбцов
update_cat$bobpresent <- NA #creating the new column
x <- c("update_cat$bob1999", "update_cat$bob2000", "update_cat$bob2001","update_cat$bob2002", "update_cat$bob2003", "update_cat$bob2004", "update_cat$bob2005", "update_cat$bob2006","update_cat$bob2007", "update_cat$bob2008", "update_cat$bob2009") #these are the names of the columns I want the new column to base its results in
bobpresent <- function(x){
if(x==NA)
return(0)
else
return(1)
} # if all the previous columns are NA then the new column should be 0, otherwise it should be 1
update_cat $ bobpresence < - sapply (update_cat $ bobpresent, bobpresent) #apply функция в новый столбец
Все идет FINA до последней строки, где I» m получение этой ошибки:
Error in if (x == NA) return(0) else return(1) :
missing value where TRUE/FALSE needed
Может кто-нибудь, пожалуйста, посоветуйте мне? Ваша помощь будет высоко оценена.
На каком языке это? Р? –
да, извините, в R – Cat
попробуйте, возможно, 'update_cat $ bobpresent <- ifelse (all (is.na (update_cat [, x])), 1, 0)' где x - это только имя столбца 'c (" bob1999 ", «bob2000», «bob2001») ..... – haki