You technically never had a matrix. You only had two separate vectors.
For your problem I would just do the following as it creates the dataframe while preserving the state of both to the expected.
x <- c("Al", "Betty", "Chris", "Diane")
y <- c(1,1,0,1)
str(y)
#> num [1:4] 1 1 0 1
df <- data.frame(x,y)
str(df)
#> 'data.frame': 4 obs. of 2 variables:
#> $ x: chr "Al" "Betty" "Chris" "Diane"
#> $ y: num 1 1 0 1
sum(df$y)
#> [1] 3
Created on 2020-10-10 by the reprex package (v0.3.0)
If you want to convert a matrix to data.frame I would recommend as.data.frame.