I am trying to fit multivariate regression models to my data; however, I get singularity warnings. Please find a part of my data below:

```
Cat_1 <- c("LP", "LP", "LP", "LP", "GR", "GR", "GR", "LD", "LD", "LD", "LD", "LD", "LD", "TE", "TE", "TE", "TE", "TE", "NI", NA, NA, NA, NA, NA, NA, "CA", "CA", "JO", "CA", "CA", "TI", "PR", "TI", "TI", "AQ", "TI", "AQ", "TI", "KI", "AT", "AT", "SA", "SA", "SA", "SA", "SA", "SA", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", NA, NA, NA, "TS", "TS", "GE", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR")

Cat_2 <- c("CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CR", "CY", "CY", "CY", "CY", "CY", "EG", "GR", "GR", "GR", "IT", "IT", "IT", "IT", "IT", "IT", "IT", "IT", "SP", "SP", "SP", "SP", "SP", "SP", "SP", "SP", "TN", "TN", "TN", "TN", "TN", "TN", "TN", "TN", "TN", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "TR", "GR", "SP", "SP", "SP", "SP", "SP", "SP", "SP", "SP", "SP")

Cat_3 <- c("EX", "EX", "EX", "EX", "PE", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "DR", "DR", "DR", "DR", "DR", "PE", "EX", "EX", "EX", NA, NA, NA, "PE", "PE", "PE", "PE", "PE", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "DR", "DR", "DR", "DR", "DR", "DR", "DR", "DR", "DR", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "DR", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX", "EX")

Cont_1 <- c(0.00, 0.00, 0.00, 0.00, 22.00, 22.00, 22.00, 0.00, 0.00, 0.00,  0.00, 0.00, 0.00, 27.00, 27.00, 27.00, 27.00, 27.00, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 55.00, 55.00, 55.00, 55.00, 55.00, 55.00, 55.00, 55.00, 33.78, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 45.00, 50.00, 50.00, 50.00, 20.00, 20.00, 48.00, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78)

Response <- c(0.3474338, 0.3459840, 0.3459840, 0.3516871, 0.4205923, 0.4055125, 0.4175813, 0.6818209, 0.6857756, NA, NA, NA, NA, 0.5174143, 0.3546506, 0.5418190, 0.6052847, 0.5385959, 0.3295108, 0.5209747, 0.5199027, 0.5209747, 0.4618320, 0.6849975, 0.4132942, 0.3019946, 0.3281736, NA, NA, NA, 0.3865485, 0.4562354, 0.4198557, 0.3209418, 0.2956085, 0.3920888, NA, NA, 0.4949614, 0.4949614, 0.4949614, 0.5185092, 0.5185092, 0.5185092, 0.5185092, 0.5185092, NA, 0.7081736, 0.7081736, 0.7081736, 0.7174453, 0.7174453, 0.7174453, 0.6790109, 0.6790109, 0.6790109, 0.7050356, 0.7050356, 0.7050356, 0.6922349, 0.6922349, 0.6922349, 0.6922349, 0.6922349, 0.6922349, NA, NA, NA, 0.6265795, 0.6265795, 0.4186085, 0.6110061, 0.6288103, 0.5619780, 0.5793262, 0.6648705, 0.4948839, 0.5891485, 0.5565717, 0.5347567)

myData <- data.frame(Cat_1, Cat_2, Cat_3, Cont_1, Response)

```

When I try to fit:

```
lm(Response ~ Cat_1 + Cat_2, data = myData)

```

or

```
lm(Response ~ Cat_1 + Cont_1, data = myData)

```

I get singularity warnings. Why do singularities happen and how I can overcome this issue?
I would appreciate any help or advice.

Thanks,