Given an element of $c(G)$, we are looking for an etale $G$-torsor which is trivial when restricted to $\text{Spec}(K)$ and each $\text{Spec}(R_\mathfrak{p})$, for $\mathfrak{p}$ a finite prime of $R$. Because this $G$-torsor will be trivial over $K$, it will in fact be trivial over some Zariski-open $U$ of $\text{Spec}(R)$, say $U=\text{Spec}(R[1/N])$. Furthermore, for each $\mathfrak{p}$ dividing $N$, this torsor will be trivial on $\text{Spec}(R_\mathfrak{p})$.
Summing up (and using fpqc descent), we are looking for a trivial $G$-torsor on $$U':=U\cup \bigcup_{\mathfrak{p}|N}\text{Spec}(R_\mathfrak{p})$$ and descent data to $\text{Spec}(R)$. I claim one can extract such descent data from an element of $c(G)$.
Namely, let's choose a trivialization of our trivial $G$-torsor on $U'$. Now the descent data boils down to choosing elements of $G(\text{Frac}(K_\mathfrak{p}))$ for each $\mathfrak{p}|N$. Since descent is effective for the cover $U'\to\text{Spec}(R)$, we may harmlessly enlarge $U'$ to $$U''=U\cup \bigcup_{\mathfrak{p}\in R}\text{Spec}(R_\mathfrak{p}).$$ Now descent data is given by a choice of element of $G(R_\mathfrak{p})$ for each $\mathfrak{p}\in U$ and an element of $G(K_\mathfrak{p})$ for each $\mathfrak{p}|N$. That is, descent data (for this cover, after choosing a trivialization!) is an element of $G(\mathbf{A}^f)$. But changing the trivialization over $U$ (possibly after shrinking $U$) changes this descent data by an element of $G(K)$; changing the trivialization on $\bigcup_{\mathfrak{p}\in R}\text{Spec}(R_\mathfrak{p})$ changes the descent data by an element of $G(\hat R)$. Thus the desired double coset space precisely corresponds to fpqc descent data.
Let me be a bit more explicit, since there's been a question in the comments. Let $$V=\text{Spec}(K)\cup \bigcup_{\mathfrak{p}\in R} R_\mathfrak{p}=\varprojlim_U U\cup \bigcup_{\mathfrak{p}\in R}\text{Spec}(R_\mathfrak{p}).$$ The above discussion shows that (1) descent is effective for the cover $V\to \text{Spec}(R)$ and (2) elements of $c(G)$ are in bijection with descent data on a trivialized $G_V$ torsor over $V$, modulo choice of trivialization. Hence one may associate to an element of $c(G)$ descent data; as descent is effective this gives an actual $G$-torsor on $\text{Spec}(R)$ as desired.
Strictly speaking, we've given a map from the desired double coset space to $H^1_{\text{fpqc}}(\text{Spec}(R), G)$. We need to argue that in fact the torsor we get is etale-locally trivial. In fact the torsor we've given is clearly trivial over some open set, by construction (namely, choosing a representative of the double coset, there is an open set $U$ consisting of $\mathfrak{p}$ so that the relevant element of $G(K_\mathfrak{p})$ is in fact in $G(R_\mathfrak{p})$). So we must argue that in fact our torsor is etale-locally trivial in a neighborhood of the other $\mathfrak{p}$. I don't see why this is true if $G$ doesn't satisfy weak approximation; if it does, we can always make our descent data integral at any given $\mathfrak{p}$ by modifying it by an element of $G(K)$, and then conclude by the previous sentence. But perhaps I'm missing something easy. (See grghxy's comment for the observation that weak approximation is not necessary, b/c of Artin approximation. If weak approximation is satisfied, the map in fact lands in $H^1_{Zar}(\text{Spec}(R), G)$.)
For more details on this sort of construction, see e.g. this answer. I'm not an expert on this sort of thing, so caveat emptor.