date A B C
11/24/2016 0 -1 -1
11/23/2016 -1 -1 -1
11/22/2016 0 -1 -1
11/21/2016 0 -1 -1
11/18/2016 -1 -1 -1
11/17/2016 -1 -1 -1
11/16/2016 -1 -1 -1
11/15/2016 -1 -1 -1
11/14/2016 -1 -1 -1
11/11/2016 -1 -1 -1
11/10/2016 0 -1 0
11/9/2016 0 -1 0
ExcelのコマンドにExcelからIFを複製()論理コマンドC
が=IF(A2=-1, -1, IF(AND(B2=-1,C3=-1),-1,0))
あるため(データを想定はROW2で始まります)。したがって、基本的に、列Aが-1の場合、列Cも-1になります。それ以外の場合は、B2=-1
か、Cの下の行が-1
かどうかを確認します。 Excelでは、私は単に式をコピー/貼り付けすることでこれを行うことができました。そして、C列は自動的に自動的に更新されます。R - R
Rで私はcol A
とB
の値を持っています。これらの列を使って、Excelでのやり方のようにC
を作成したいと思います。しかし、私はかなりの時間これを行う方法について考えて立ち往生してきました。これは 'C'が 'A'に依存し、失敗した場合は 'B'とそれ自身の遅れた値に依存するためです。助けていただければ幸いです!
編集:私はおそらく動作する可能性があることを念頭に置いています。最初のループを実行した後
for (i in 1:length(dat[,1])){
dat[i,3] <- ifelse(dat[i,1]==-1, -1, 0)
}
、私が取得:
第二の条件のために今A B V3
1 0 -1 0
2 -1 -1 -1
3 0 -1 0
4 0 -1 0
5 -1 -1 -1
6 -1 -1 -1
7 -1 -1 -1
8 -1 -1 -1
9 -1 -1 -1
10 -1 -1 -1
11 0 -1 0
12 0 -1 0
:
for (i in 2:length(dat[,1])){
dat[i-1,3] <- ifelse(dat[i-1,2]==-1&dat[i,3]==-1, -1, dat[i,3])
}
第二の条件のために、私はfor()
がチェックすることを願っていますその前の行は、-1
を繰り返し入力します.Cの現在の行の前に行の中に-1
があって、-1
しかし、これは戻っBの現在の行の1を終わる:
A B V3
1 0 -1 -1
2 -1 -1 0
3 0 -1 0
4 0 -1 -1
5 -1 -1 -1
6 -1 -1 -1
7 -1 -1 -1
8 -1 -1 -1
9 -1 -1 -1
10 -1 -1 0
11 0 -1 0
12 0 -1 0
を私はrow3
が-1として埋め得ることができるように、-1として滞在するrow2
を必要としています。
既に 'C'列の値が設定されていますか? –
@Ronak Shah申し訳ありません!明らかにしておくべきである。私はRで 'A'と' B'の値を持っています。Excelでどうやって行ったのかのように 'C'を作るためにそれらを使いたいと思います。私の投稿を編集します! – Nikitau
'dplyr :: case_when'はそれを文字どおり処理します:' library(dplyr); (C == -1、-1 = -1〜-1、TRUE〜0)) 'そうでなければ、ネスト' ifelse '呼び出しが、それは乱雑になる。 – alistaire