Let $f$ be a continuous function from $S^n$ to $R^n$. The Borsuk-Ulam theorem states that there is an $x$ such that $f(x)=f(-x)$. 

In what conditions is this true that for every constant ''r>0'' there is an $x$ such that $f(x)=r f(-x)$?

In general this is of course not true, for example when $f$ is a constant function. But suppose $f$ is a non-negative function with at least one zero in $S^n$. Is this true in that case?

I think for $n=1$ this is true and can be proved based on the intermediate value theorem: define $g(x)=f(x)/f(-x)$. Let $x_0$ be a zero of $f$. Then $g(x_0)=0$ but $g(-x_0)=\infty$. Hence the function $g$ must accept every value between 0 and $\infty$ somewhere between $x_0$ and $-x_0$.

Is this true in general? If not, what conditions should be added to make it true?