[問題] "==" operator問題

看板R_Language作者 (Absurde.Y)時間10年前 (2015/11/22 18:21), 10年前編輯推噓2(206)
留言8則, 2人參與, 最新討論串1/1
[問題類型]: 應該算程式諮詢吧 [軟體熟悉度]: 新手 [問題敘述]: 看一本書自學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

11/22 19:04, , 1F
你應該要先看懂 "A" %in% rep(c("A", "B"), 6)
11/22 19:04, 1F

11/22 19:05, , 2F
與 "A" == rep(c("A", "B"), 6) 的差別
11/22 19:05, 2F

11/22 19:07, , 3F
前者是檢查 "A" 是否在 rep(c("A", "B"), 6) 之中
11/22 19:07, 3F

11/22 19:09, , 4F
後者是檢查"兩個數列"各個元件是否相同.
11/22 19:09, 4F

11/22 19:11, , 5F
數列的各元要依照順序依序比對. 不等長將自動補足.
11/22 19:11, 5F

11/22 19:13, , 6F
看不懂的話可以試試 c("B", "A") %in% rep(c("A", "B"),6)
11/22 19:13, 6F

11/22 19:13, , 7F
與 c("B","A") == rep(c("A", "B"), 6)
11/22 19:13, 7F

11/22 23:18, , 8F
好,我先從這開始
11/22 23:18, 8F
文章代碼(AID): #1MKPSmaV (R_Language)
文章代碼(AID): #1MKPSmaV (R_Language)