Your are asking for a specific answer to an unspecific question, the best we can do is to guess what you are trying to do.
If I guessed right you want to do one-hot encoding in your dataset, if you want to follow a manual approach you can do something like this:
library(dplyr)
example_data <- tibble(X1 = c(1,2,3,4,5),
hair_color = factor(c('blonde', 'blonde', 'red', 'black', 'brown')),
eyes_color = factor(c('green', 'green', 'blue', 'brown', 'brown')))
new_data <- example_data %>%
mutate(black_hair = ifelse(hair_color == 'black', 1, 0))
new_data
#> # A tibble: 5 x 4
#> X1 hair_color eyes_color black_hair
#> <dbl> <fct> <fct> <dbl>
#> 1 1 blonde green 0
#> 2 2 blonde green 0
#> 3 3 red blue 0
#> 4 4 black brown 1
#> 5 5 brown brown 0
But, you can also use a library and encode all your variables at once, with caret
for example you can do something like this:
library(dplyr)
library(caret)
example_data <- tibble(X1 = c(1,2,3,4,5),
hair_color = factor(c('blonde', 'blonde', 'red', 'black', 'brown')),
eyes_color = factor(c('green', 'green', 'blue', 'brown', 'brown')))
dmy <- dummyVars(" ~ .", data = example_data)
trsf <- data.frame(predict(dmy, newdata = example_data))
trsf
#> X1 hair_color.black hair_color.blonde hair_color.brown hair_color.red
#> 1 1 0 1 0 0
#> 2 2 0 1 0 0
#> 3 3 0 0 0 1
#> 4 4 1 0 0 0
#> 5 5 0 0 1 0
#> eyes_color.blue eyes_color.brown eyes_color.green
#> 1 0 0 1
#> 2 0 0 1
#> 3 1 0 0
#> 4 0 1 0
#> 5 0 1 0