Nearly all algorithms need data in numerical form. If you have binary or categorical data, the usual approach would be to use dummy or one-hot encoding that code different categories as zeroes and ones. In practice, modern software would often do this for you, for example in R if you use the factor datatype (it is likely that R already used it for your data, you check it with the
is.factor function) that under the hood produces the dummy encoding representation of the data when needed.
If you want to "find out if being assigned to group "A" rather than "B" (or vice-versa) may depend on "age", "gender" or "school" (or a combination of these)", this sounds like a logistic regression problem. Logistic regression would work out of the box with factor data.