我正在尝试根据另一个变量的值为变量添加常量。换句话说,我有两个变量(Cancer,psa)。癌症1,0(这是肯定的否)如果患者患有癌症我想要将2.0添加到另一个连续的变量'psa'。如果患者没有患癌症,我想跳过他们的psa变量值并转到下一个病例。我认为这是if或ifelse,但我不确定
到目前为止我最好的猜测:
ifelse(cancer=1,(psa1=psa1+2),(psa1=psa1*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