2016-04-06 18 views
2

Incelerin semptomatik veya asemptomatik tarafındaki kalsifikasyon hacmine ilişkin bir araştırma projesi yapıyorum.if-else işlevinin doğru kullanımı R

Semptomatik taraf 1 (sağ) veya 2 (sol) olabilir. Bütün vakalarda, sağ ve sol taraftaki kalsifikasyon hacmini ayrı ayrı hesapladım. Daha sonra, her iki tarafı (semptom ve asimp) toplam kireçlenme hacmine göre karşılaştırmak istiyorum.

aşağıdaki kod doğru Love vardı:

ds$totalcalcSymp <- if(ds$sympt_side==2) ds$totalcalcL else 
    (ds$totalcalcR) 

ds$totalcalcAsymp <- if(ds$sympt_side>1) ds$totalcalcR else 
    (ds$totalcalcL) 

Ancak, yukarıda Ar kodu çalışmak görünmemektedir. Semptomatik taraf için totalcalcR'ye (sağ taraf) benzer değerler elde ederim. Ve totalcalcL'nin asemptomatik yan değerleri için (sol taraf).

Ayrıca, yalnızca ifadeler ile çalışmayı denedim, ancak yine de yukarıdaki gibi aynı sonuçları alıyorum. Sorun da aldığım uyarı mesajları ile ilgili mi? felç semptomatik ve asymptomic tarafına doğru yan (totalcalcR veya totalcL) bağlamak için uygun bir çözüm

the condition has length > 1 and only the first element will be used 

nedir?

Hepinize şimdiden teşekkür ederiz!

+0

deneyin 'ds $ totalcalcSymp <- ifelse (DS $ sympt_side == 2, ds $ totalcalcL, ds $ totalcalcR)'. – Gopala

cevap

1

ifelse() kullanmayı deneyin:

ds$totalcalcSymp <- ifelse(ds$sympt_side==2, ds$totalcalcL, ds$totalcalcR) 
+0

Arun, iki yapı mantıksal olarak eşdeğer değil mi? –

+0

İlk önce, vay! Ne hızlı bir şekilde! İlk kod Akrun'un söylediği gibi çalışmıyor. Ancak ifelse fonksiyonu ile ikinci kod çalışıyor gibi görünüyor! Ifelse işlevini, yalnızca ikili değişkenlerle ve sürekli değişkenler (kalsifikasyon hacmi) için kullanılamayacak şekilde kullanabilirim. – Kars

İlgili konular