# [R](https://www.r-project.org), 22 bytes
```r
\(x)rep(1,strtoi(x,2))
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m72waMG6pMy8xKLKkvxSEGW7tLQkTddiW4xGhWZRaoGGoU5xSVFJfqZGhY6RpiZEcjeKDo0KWyUDA0MwUIKqWLAAQgMA)
Convert from binary and repeat ```1``` that many times.
Unfortunately shorter than the more-interesting (I think):
# [R](https://www.r-project.org), <s>36</s> 34 bytes
*Edit: -2 bytes thanks to pajonk*
```r
\(x)Reduce(\(a,b)c(a,a,b[b]),x,{})
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m72waMG6pMy8xKLKkvxSEGW7tLQkTdfiplKMRoVmUGpKaXKqRoxGok6SZjKQBNLRSbGaOhU61bWaUJXKKPo1KmyTNQx0DHQMEVATqnTBAggNAA)
Input is a vector of binary digits; fold over (```Reduce```) this from the left, starting with an empty vector (```NULL```), at each step duplicating whatever we've got so far, and appending the new digit if it's a ```1```.