2017-04-15 111 views
1

我有三個因子變量的數據:MI,Ang,Stroke。我想讓他們變成一個因素,CVD(YES,NO)。對一個因素變量的三個因子變量

這是應該的,基本上是:

IF MI=="YES" or Ang=="YES" or Stroke=="YES" then CVD=="YES" else CVD=="NO" 

但是,這並不明顯工作。有什麼建議麼?

謝謝!

@BWilliams得到它

解決方案

CVD <- ifelse (MI=="YES" | Ang=="YES" | Stroke=="YES", "YES","NO") 
+1

請在預期輸出中顯示一個可重現的小例子 – akrun

+2

使用ifelse'CVD = ifelse(MI ==「YES」| | Ang ==「YES」|筆畫==「是」,「是」,否「) –

+0

嘗試'c(」否「,」是「)[(rowSums(df1 ===」YES「)!= 0)+1]' – akrun

回答

0

不知道我是否正確地理解它,但我認爲這應該是它:

if (any(Mi,Ang,Stroke)) {CVD <- T} else {CVD <- F} 
1

我們可以使用rowSums創建「是」/「否」變量

df1$CVD <- c("NO", "YES")[(rowSums(df1=="YES")!=0)+1]