(mydf <- mydf%>% mutate( y = sign(x) * sqrt(abs(x))))
Note : This might be simplified by removing sign(x) * , as when you list out what to do with them (2) you dont say to make them negative as a subsequent step.
Also, the solution doesnt skip 0's but I don't see a motivated reason to skip them either.