I think I am very close to the solution. But unfortunately I don't get it.
x1kb <- c(1:10, NA, NA, 5,6,7,8)
y1 <- rep(c(NA,777),each=8)
x2kb <- c(1:10, NA, NA, 5,6,7,8)
y2 <- rep(c(NA,777),each=8)
data1<- data.frame(x1kb, y1, x2kb, y2)
This is how the dataframe looks like:
x1kb y1 x2kb y2
1 1 NA 1 NA
2 2 NA 2 NA
3 3 NA 3 NA
4 4 NA 4 NA
5 5 NA 5 NA
6 6 NA 6 NA
7 7 NA 7 NA
8 8 NA 8 NA
9 9 777 9 777
10 10 777 10 777
11 NA 777 NA 777
12 NA 777 NA 777
13 5 777 5 777
14 6 777 6 777
15 7 777 7 777
16 8 777 8 777
I tried it with dplyr
. But I always get an error.
library(dplyr)
#replace NA with 0 if colname includes "kb"
data1[is.na(data1)] <- 0 %>% select(data1, contains("kb"))
My desired output:
x1kb y1 x2kb y2
1 1 NA 1 NA
2 2 NA 2 NA
3 3 NA 3 NA
4 4 NA 4 NA
5 5 NA 5 NA
6 6 NA 6 NA
7 7 NA 7 NA
8 8 NA 8 NA
9 9 777 9 777
10 10 777 10 777
11 0 777 0 777
12 0 777 0 777
13 5 777 5 777
14 6 777 6 777
15 7 777 7 777
16 8 777 8 777