I am learning R and I have an issue trying to replace na values in a data frame excluding the first 2 columns from the process. i did this:
# example data.frame
v1<-c("a","b","c","d")
v2<-c(3,3,NA,NA)
v3<-c(1,NA,1,1)
v4<-c(1,NA,1,NA)
v5<-c(1,0,NA,NA)
df<-data.frame(v1,v2,v3,v4,v5)
df
#fal is a Matrix with only FALSE
fal <- data.frame(matrix(ncol = 2, nrow = nrow(df), FALSE))
fal
m <- cbind(fal,is.na(df[,3:5]))
df[m]<-0
So I have a Matrix with TRUE where the na has to be replaced, and I set it to 0.
df looks like that:
v1 v2 v3 v4 v5
1 a 3 1 1 1
2 b 3 NA NA 0
3 c NA 1 1 NA
4 d NA 1 NA NA
and the matrix look like that:
X1 X2 v3 v4 v5
1 FALSE FALSE FALSE FALSE FALSE
2 FALSE FALSE TRUE TRUE FALSE
3 FALSE FALSE FALSE FALSE TRUE
4 FALSE FALSE FALSE TRUE TRUE
Can someone help me with that?