PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] ||的用法
作者:
oldjojotenya
(舊舅舅)
2014-10-25 21:19:19
[問題類型]:
程式諮詢
[軟體熟悉度]:
新手,用coursera自己亂學
[問題敘述]:
以下是我寫的程式碼:
outcome <- "heart attack"
if(outcome != "heart failure" || outcome != "heart attack" ||
outcome != "pnuemonia"){
stop("invalid outcome")
}
結果跑出以下警告:
錯誤: invalid outcome
我有兩個問題想請教版上大大:
問題一、為何我賦值給outcome的內容明明是不符if內條件的,但最後還是執行了stop()?
問題二、查了一下||只能用於raw或logical或‘number-like’ vectors,所以我就不能
把程式寫成 if(outcome != "heart failure" || "heart attack" || "pnuemonia),
請問有沒有更簡潔的方式表達我的outcome不能等於"heart failure"、"heart attack"
或"pnuemonia"這三個character其中之一的方法?
謝謝^^
作者:
Edster
(Edster)
2014-10-25 23:24:00
outcome %in% c(heart failure, heart attack, ...)看你的 outcome 只有一個值. 若是有很多個就反過來寫..
作者: obarisk (OSWALT)
2014-10-25 23:51:00
if內第一個表達式為真
作者:
oldjojotenya
(舊舅舅)
2014-10-26 19:35:00
謝謝E大我成功了!謝謝o大,已理解
作者:
andrew43
(討厭有好心推文後刪文者)
2014-10-26 19:49:00
a <- 1 ; !(a == 2 | a == 3 | a == 4) 為所求我猜你要的寫法是這個。不過Edster的寫法更好懂。
作者:
oldjojotenya
(舊舅舅)
2014-10-27 00:43:00
原來是把!放在外面,剛試過可以了,謝謝a大!
作者:
gsuper
(Logit(odds))
2014-11-03 20:13:00
盡量不要用 == 或 != , 因為對 NA 會有問題改用 %in% , all() , any() 這些比較好用還有就是你的 || 寫法沒問題, 是因為三者中任一項為 TRUE其結果就是 TRUE你的第一和第三判斷式為 TRUEall(!outcome%in%c('heart failure','heart attack','pnuemonia'))寫不對了 all 去掉
作者:
oldjojotenya
(舊舅舅)
2014-11-18 16:52:00
回來溫習才發現g大實用的回答,琢磨中^^謝謝!
繼續閱讀
Re: [問題] 找出重複數據 平均後刪掉其餘重複列
Edster
[問題] 如何將不同檔的參數比例放入同一檔中?
mymiss312
[問題] input data (非mxn)
yaowei2010
[問題] rmr2 map functon
swedrf0112
Re: [問題] R程式 文字處理(同義字轉換)
koai
[問題] R程式 文字處理(同義字轉換)
sinkome
[問題] 執行BreslowDayTest發生問題
jyjzero
[問題] 如何使用uniqle刪除重複n次的資料
ntme
[問題] R語言是否可以動態配置矩陣?
pornstar
[問題] 合併兩個直方圖
angiolini
Links
booklink
Contact Us: admin [ a t ] ucptt.com