GOOGLE ADS

lunes, 25 de abril de 2022

ifelse y reemplazando un solo valor

Como entrenamiento, estoy tratando de reproducir una transformación de datos en esta base de datos ( https://studysites.uk.sagepub.com/dsur/study/DSUR%20Data%20Files/Chapter%205/DownloadFestival(No%20Outlier).dat )

dlf$day2<-as.numeric(dlf$day2)
dlf$recday2b<- 1/(dlf$day2 + 1)
dlf$recday2b[is.na(dlf$recday2b)] <-0

usando ifelse, pero no puedo ifelsereemplazar los valores NA con 0s.

Intenté estos sin éxito:

dlf$recday2b<-ifelse(is.na(dlf$day2), replace(dlf$day2, NA, 0), 1/(dlf$day2 + 1))

dlf$recday2b<-ifelse(dlf$day2!="", 1/(dlf$day2 + 1), dlf$day2==0)


Solución del problema

Si entiendo correctamente, no tiene ningún problema para crear la nueva variable recday2b, pero solo desea cambiar cuando recday2b es NA a 0

Usando ifelse podrías probar

dlf$recday2b <-ifelse(is.na(dlf$recday2b), 0, dlf$recday2b) 
dlf$recday2b <- ifelse(is.na(dlf$day2), 0, dlf$recday2b) #same result

De lo contrario, también tiene la replace_na()función que toma un marco de datos o un vector como argumento

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...