2017-11-23 3 views
0

私は1と0でいっぱいのベクトルを持っています。私は(0、0)で始まり、ベクトルの1つごとに1ずつ増加し、ベクトルの0ごとに1ずつ減少するグラフをプロットする必要があります。例えば、私のベクトルは[1、1、1、0、1、0、1、1]私は合計を開催する別のベクトルを作成することについて考えR - ブール値からグラフをプロットする方法

enter image description here

のように見える何かを取得する必要であれば(例:[1、2、3、4、4、5、6]から)インデックスiの元のベクトルの最初のi個の要素のうち、0でのディップを考慮しない。また、私はこれを解決するためにループを使用することはできません。

答えて

3

私はそれが[0,0]から始まることを確認するために先頭にゼロを追加し、-1にゼロを変換し、累積和プロットします:

#starting vec 
myvec <- c(1, 1, 1, 0, 1, 0, 1, 1) 
#convert 0 to -1 
myvec[myvec == 0] <- -1 
#add a zero at the beginning to make sure it starts from [0,0] 
myvec <- c(0, myvec) 
#plot cumulative sum 
plot(cumsum(myvec), type = 'line') 
#points(cumsum(myvec)) - if you also want the points on top of the line 

enter image description here