のIf-then-elseステートメント私はロジスティック回帰から得点を得ようとしています。彼らの確率を計算した後、私はこれらの変数を持つデータフレームを作成しました: CUSTID、depvar、prob 次に、確率のデシールを得ることができました。R-
> quantile(prob, p=seq(0, 1, length=11), type=5)
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
0.0373546 0.1990744 0.2961668 0.3748728 0.4393759 0.4970248 0.5554679 0.6162423 0.6905081 0.8007684 0.9999996
最後に、デシールをデータフレームの最後に付けたいと思います。ここに私のコードです:
> #Chained if-then-else
> if (prob <=.1990744) {decile<-10} else if (prob >.1990744) {decile<-9} else if (prob >.2961668){decile<-8} else {if (prob >.3748728) {decile<-7} else if(prob >.4393759) {decile<-6} else if (prob >.4970248){decile<-5} else {if (prob >.5554679) {decile<-4} else if(prob >.6162423) {decile<-3} else if (prob >.6905081){decile<-2} else {if (prob >.8007684) {decile<-1} else {decile=0}
+
ご覧のとおり、私はRが私に何か他のタイプを入力するように+記号が残っています。このif-then-elseステートメントをどのように構築すればよいですか?
ありがとうございました。
'+'は、かっこの不一致の結果です。とにかくここで 'if'と' else'を使うことはできません。ベクトル化されたネスト 'ifelse'を使うことができますが、' cut'や 'findInterval'を使うべきです。 – Roland
@Rolandのコメントを完成させるには、コードを再フォーマットした後、 'else'と' if'の間に '{'があり、else {if'を探します。このような長いステートメントや、イントントステートメントをインデントするためのスクリプトを試してみてください。 – Tensibai