デバックしたつもり。

sim <- function(n){
flg=FALSE # n回勝ち越しflag
i=0 # カウンタ初期値
y=NULL # 勝敗配列
while(flg==FALSE){ # どちらかがn回勝ち越しでなければ
i=i+1 # カウンタを増やす
y=c(y,rbinom(1,1,0.5)) # 1回ジャンケンして結果をyに追加
flg <- abs(sum(y==1)-sum(y==0)) == n # n回勝ち越しか判定
}
return(i) # 勝負がついたジャンケン回数を返す
}

fn <- function(n,k=1e4) mean(replicate(k,sim(n)))
n=1:20
y=sapply(n,fn)
data.frame(Ex=y)

> data.frame(Ex=y)
Ex
1 1.0000000000000000
2 3.9952000000000001
3 9.0063999999999993
4 16.0839999999999996
5 24.7911999999999999
6 36.7032000000000025
7 49.3744000000000014
8 64.5473999999999961
9 81.6077999999999975
10 100.3460000000000036
11 120.0926000000000045
12 142.3019999999999925
13 169.5545999999999935
14 197.2299999999999898
15 225.0375999999999976
16 254.5725999999999942
17 289.1537999999999897
18 324.0305999999999926
19 356.2748000000000275
20 404.5817999999999870