set of almost complex structures on $\mathbb R^4$ as two disjoint spheres The set of almost complex structures on $\mathbb R^{2n}$ is given by
$$ M_n = \frac{GL(2n,\mathbb R)}{GL(n,\mathbb C)} = \mathcal C_+ \sqcup \mathcal C_-,$$
taking into account that $\det = \pm 1$ gives two disjoint sets.
How do we show that $M_2=S^2 \sqcup S^2$?
Moreover, I'm a bit confused by dimensions: how does $\dim_{\mathbb R}M_2=8$ relates with the latter decomposition?
This is exercise 1.2.1 from the book Complex geometry by Huybrechts.
 A: As you noted, $M$ is not diffeomorphic to $S^2\coprod S^2$ for dimension reasons.
On the other hand, what is true is $M$ is homotopy equivalent to $S^2 \coprod S^2$.
(The following argument is partly adapted from a paper of Montgomery)
To see this, it's enough to show that $Gl^+(4,\mathbb{R})/Gl(2,\mathbb{C})$ is homotopy equivalent to $S^2$, where $Gl^+$ denotes those matrices of positive determinant.
Now, consider the subgroups $U(2)\subseteq Gl(2,\mathbb{C})$ and $SO(4)\subseteq Gl^+(4,\mathbb{R})$.
It's relatively well known that $Gl(2,\mathbb{C})$ is diffeomorphic to $U(2)\times \mathbb{R}^4$ and that $Gl^+(4,\mathbb{R})$ is diffeomorphic to $SO(4)\times \mathbb{R}^{10}$.  Further, in the usual inclusion $Gl(2,\mathbb{C})\rightarrow Gl^+(4,\mathbb{R})$, $U(2)$ becomes a subgroup of $SO(4)$.
Now, the chain of subgroups $U(2)\subseteq SO(4)\subseteq Gl^+(4,\mathbb{R})$ gives rise to a homogeneous fibration $$SO(4)/U(2)\rightarrow Gl^+(4,\mathbb{R})/U(2)\rightarrow Gl^+(4,\mathbb{R})/SO(4).$$  In light of the above diffeomorphisms, $Gl^+(4,\mathbb{R})/SO(4)$ is diffeomorphic to $\mathbb{R}^{10}$.  Since Euclidean spaces are contractible, it follows that the fibration is trivial, so $Gl^+(4,\mathbb{R})/U(2)$ is diffeomorphic to $SO(4)/U(2)\times \mathbb{R}^{10}$.  In particular, $SO(4)/U(2)$ is homotopy equivalent to $Gl^+(4,\mathbb{R})/U(2)$.
Now, consider the chain of subgroups $U(2)\subseteq Gl(2,\mathbb{C})\subseteq Gl^+(4,\mathbb{R})$.  This gives rise to a homogeneous fibration $$Gl(2,\mathbb{C})/U(2)\rightarrow Gl^+(4,\mathbb{R})/U(2) \rightarrow Gl^+(4,\mathbb{R})/Gl(2,\mathbb{C}).$$  In this case, the fiber is diffeomoprhic to $\mathbb{R}^4$, which immediately implies that $Gl^+(4,\mathbb{R})/U(2)$ is homotopy equivalent to $Gl^+(4,\mathbb{R})/Gl(2,\mathbb{C})$.
Putting the last two paragraphs together, we now know that $SO(4)/U(2)$ is homotopy equivalent to $Gl^+(4,\mathbb{R})/Gl(2,\mathbb{C})$.
To finish off the argument, we need to show that $SO(4)/U(2)$ is diffeomorphic to $S^2$.
To see this, first note that $U(2)$ intersects the center $Z(SO(4)) = \{\pm I\}$ of $SO(4)$.  It follows that $$SO(4)/U(2) \cong [SO(4)/Z(SO(4)]/[U(2)/(Z(SO(4))\cap U(2))].$$
But $SO(4)/Z(SO(4))\cong SO(3)\times SO(3)$ and $U(2)/(Z(SO(4))\cap U(2)) \cong SO(3)\times S^1$.  So, $SO(4)/U(2)\cong (SO(3)\times SO(3))/(SO(3)\times S^1)\cong SO(3)/S^1$.
But the standard action of $SO(3)$ on $S^2$ is transitive with stabilizer $S^1$, so $SO(3)/S^1 \cong S^2$.
