作者cb1040 (Absurde.Y)
看板R_Language
标题[问题] "==" operator问题
时间Sun Nov 22 18:21:32 2015
[问题类型]: 应该算程式谘询吧
[软体熟悉度]: 新手
[问题叙述]:
看一本书自学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://webptt.com/cn.aspx?n=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
1F:推 Edster: 你应该要先看懂 "A" %in% rep(c("A", "B"), 6) 11/22 19:04
2F:→ Edster: 与 "A" == rep(c("A", "B"), 6) 的差别 11/22 19:05
3F:推 Edster: 前者是检查 "A" 是否在 rep(c("A", "B"), 6) 之中 11/22 19:07
4F:→ Edster: 後者是检查"两个数列"各个元件是否相同. 11/22 19:09
5F:→ Edster: 数列的各元要依照顺序依序比对. 不等长将自动补足. 11/22 19:11
6F:→ Edster: 看不懂的话可以试试 c("B", "A") %in% rep(c("A", "B"),6) 11/22 19:13
7F:→ Edster: 与 c("B","A") == rep(c("A", "B"), 6) 11/22 19:13
8F:→ cb1040: 好,我先从这开始 11/22 23:18