简单的R if if还是ifelse?

时间:2017-04-09 00:20:58

标签: r

我正在尝试根据另一个变量的值为变量添加常量。换句话说,我有两个变量(Cancer,psa)。癌症1,0(这是肯定的否)如果患者患有癌症我想要将2.0添加到另一个连续的变量'psa'。如果患者没有患癌症,我想跳过他们的psa变量值并转到下一个病例。我认为这是if或ifelse,但我不确定

到目前为止我最好的猜测: ifelse(cancer=1,(psa1=psa1+2),(psa1=psa1*1))

1 个答案:

答案 0 :(得分: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