看板 R_Language 關於我們 聯絡資訊
[問題類型]: 應該算程式諮詢吧 [軟體熟悉度]: 新手 [問題敘述]: 看一本書自學R,程式碼很簡單,見下方連結 其中遇到與 "==" operator有關的問題 此書範例中,叫讀者用"%in%",不要用"==",因為 id==c("A","B")的意思等同id==rep(c("A","B"),times=6 但R help或網站大多只說明"==" 是 "exactly equal to"的意思 所以我不太了解為什麼會是這個結果 (另外我也不懂為什麼直接用id==rep(c(.........產生的警告訊息是什麼意思, 希望能幫忙解答,感謝) [程式範例]: 直接上連結 http://pastie.org/10573577 [環境敘述]: R version 3.2.2 (2015-08-14) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.10.5 (Yosemite) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_3.2.2 [關鍵字]:r , == , operator, rep , %in% -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.76.245 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1448187696.A.91F.html ※ 編輯: cb1040 (114.45.76.245), 11/22/2015 18:22:07 ※ 編輯: cb1040 (114.45.76.245), 11/22/2015 18:50:43
Edster: 你應該要先看懂 "A" %in% rep(c("A", "B"), 6) 11/22 19:04
Edster: 與 "A" == rep(c("A", "B"), 6) 的差別 11/22 19:05
Edster: 前者是檢查 "A" 是否在 rep(c("A", "B"), 6) 之中 11/22 19:07
Edster: 後者是檢查"兩個數列"各個元件是否相同. 11/22 19:09
Edster: 數列的各元要依照順序依序比對. 不等長將自動補足. 11/22 19:11
Edster: 看不懂的話可以試試 c("B", "A") %in% rep(c("A", "B"),6) 11/22 19:13
Edster: 與 c("B","A") == rep(c("A", "B"), 6) 11/22 19:13
cb1040: 好,我先從這開始 11/22 23:18