2017-04-09 17 views
-2

私は別の変数の値に基づいて変数に定数を追加しようとしています。つまり、私は2つの変数(Cancer、psa)を持っています。がん患者さんがんの場合は、がん1、0(はいいいえ)継続している別の変数「psa」に2.0を追加します。患者ががんにかかっていない場合は、そのpsaの可変値をスキップして、次のケースに移動したいと思います。私は、これがあればまたはifelseだと思うが、私はシンプルなR if or ifelse?

私の最高の推測で、これまではわからない: ifelse(cancer=1,(psa1=psa1+2),(psa1=psa1*1))

+1

hi!ようこそstackoverflowへ、あなたの投稿を改善する方法のいくつかのアイデアを得るために素晴らしい再現可能な例を作る方法をチェックしてください:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible - 例。また、あなたがどんなエラーを出しているのか、それを修正しようとしているのか、はっきりとは分かりません。あなたのステートメントにはいくつかの構文エラーがあります:まず、癌との等価性をチェックしているので、 '癌== 1 'でなければなりません。あなたの代入演算子 '= 'が間違った場所にある場合には、秒です。 (psa1 = ifelse(癌== 1、psa1 + 2、psa1)) ' – bjoseph

+0

シンプルな' psa < - psa + 2 * cancer'はそれを行うべきである – dww

答えて

1

あなたのデータを見ることなく、そのハード少しはあなたが望むものを言うことではなく、ここで使用した簡単な例でありますifelse

R> sample_Data <- data.frame(cancer = sample(0:1, replace = T, 10), psa = sample(1:10)) 
R> sample_Data$psa1 <- ifelse(sample_Data$cancer == 1, sample_Data$psa + 2, sample_Data$psa * 1) 
R> sample_Data 
    cancer psa psa1 
1  0 5 5 
2  0 8 8 
3  1 2 4 
4  0 10 10 
5  1 1 3 
6  1 3 5 
7  0 9 9 
8  1 6 8 
9  1 7 9 
10  0 4 4 
+0

'with (sample_Data、psa + 2 *(cancer == 1)) ' – user20650

+0

本当にありがとうございます...これはうまくいくようです... – Tom