Multiple linear regression with lm() in R, why is the intersection dependent on the name of the "first" country I have a question about the function lm() used for multiple linear regression analysis.
Context: We have a dataset (that I cannot share) where $y$ is the proportion of women (in some context that I cannot share), then we have some independent variables $x_i$ (numerical values).
Hence I make the command line lm(y~x_1 + x_2 + … +x_n, data = dataset) and that works well. I get a point of intersection n, + more.
However, the dataset allows us to use country as independent variable. For each country at least five points for each independent variable exists. Our hypothesis is that we have a global trend, however er would like to allow for cultural differences in offset. Thus, we are aiming for the model:
y_{country} = a + ( \sum_i  b_i * x_{i,country}) 
    + \epsilon_{country}

Thus, we have the command line lm(y ~ country + x_1 + x_2 + … +x_n, data = dataset).
Problem: My problem is that is seems that the analysis is then dependent on the country that comes first in the alphabet i.e., Australia. In the example with Australia, I get a point of intersection a. But if I change the name of Australia to ex BB, then the output is dependent on Austria instead, and the value of the point of intersection a’ is different from a.
Questions: My questions are: why is the point of intersection dependent on the “first” country? Is there a way to change this? Preferably I would like the “base” intersection of the country specific analysis to be n, and then the (output) list gives the country specific difference from the base intersection (n-a).
I hope my question is clear, and I am sorry, but I cannot share my data with you.

It sounds like the issue here is probably the default behaviour of converting a character variable to a factor variable.  If you have a character variable and you convert it to a factor variable, without specifying the order of the levels, R will order the levels for the factor variable based on alphabetical order of the character strings in the character vector.  To see this, have a look at this example:
#Create character variables for countries
VAR1 <- c('Australia', 'Austria', 'Canada', 'USA')
VAR2 <- c('BB', 'Austria', 'Canada', 'USA')

#Convert these to factors
FACTORVAR1 <- factor(VAR1)
FACTORVAR2 <- factor(VAR2)

#Examine the level ordering for the factor variables
levels(FACTORVAR1)
[1] "Australia" "Austria"   "Canada"    "USA"

levels(FACTORVAR2)
[1] "Austria" "BB"      "Canada"  "USA"

As you can see from this example, when we change the value 'Australia' to 'BB' in the character vector the level for the corresponding factor value goes from first place to second place, even though it remained in the same place in the character vector.  This occurs because, alphabetically, 'Austria' is after 'Australia' but before 'BB'.  Because we did not specify the order of the levels in the factor conversion, the ordering is done using the default behaviour of the factor function, which sorts the character vector to get the levels.

Note: If you call the factor function, you can see the step where it does this, which is this part of the code:
if (missing(levels)) {
        y <- unique(x, nmax = nmax)
        ind <- order(y)        #Observe that this step orders the unique values in x
        levels <- unique(as.character(y)[ind])
     }

