Col0<-c(1,2,3,3,5)
Col1<-c(0,0,1,0,1)
Col2<-c(NA,NA,NA,NA,NA)
Col3<-c(NA,NA,NA,NA,NA)
Col4<-c(NA,NA,NA,NA,NA)
df<-data.frame(Col0,Col1,Col2,Col3,Col4)
df[which(df$Col1 == 0),3:5] <- 0
df[which(df$Col1 == 1),3:5] <- df[which(df$Col1 == 1),1]
df[which(df$Col1 != 1 & df$Col1 != 0),3:5] <-
mean(df[which(df$Col1 != 1 & df$Col1 != 0),1],df[which(df$Col1 != 1 & df$Col1 != 0),2])
#df:
Col0 Col1 Col2 Col3 Col4
1 1 0 0 0 0
2 2 0 0 0 0
3 3 1 3 3 3
4 3 0 0 0 0
5 5 1 5 5 5