5 Comments
访客 *大鹏* @ 2017-04-19 07:06:26 写道:
我记得以前遇到过,好像是在一个循环结构里吧,虽然 which() 在单条代码里显得啰嗦,但在整个结构里让代码显得简洁了。——当然,高手们会说,不用循环,用向量计算。唉,这是境界的差别,难于逾越的鸿沟,凡人觉得能完成工作就行了,要省就省点脑细胞,不在乎浪费点电脑的运算时间,和电。
表误会,我是在特定情况下说的这件事。which() 用在 x[which(y)] 等价于 x[y],是没有必要的。我不是说 which()在任何情况下都是多余的,比如你说的 for (i in which(y)),这就是无法去掉的 which(),因为 for (i in y) 的意思就完全不一样了。
——原帖发布于 2017-04-19 14:14:54
访客 *大鹏* @ 2017-04-19 14:51:47 写道:
哎,说到循环,我一直有个问题:在原则上,是不是所有循环都可以用向量计算来代替?每次想把循环改写成向量计算未遂时,就觉得自己水平还是不够。
肯定不是啊。
——原帖发布于 2017-04-19 15:58:11
访客 *Liechi Zhang* @ 2017-04-19 15:21:01 写道:
“咩”是仿重庆音吗?我在重庆的时候,总是听到“咩”结尾表疑问的用法,但在离重庆仅三小时的车程的我的家乡,这种用法就完全消失了。
另,一直觉得 runif() 这个函数很奇怪,虽然现在知道它的用法了,但第一反应还是 run ... if()。
不是。“吗”的现代版(有恶意卖萌嫌疑)。理论上应该是粤语吧。有人问广州为什么叫羊城,答案是这样一组对话:
A:内港咩啊?
B:咩啊?
A:咩咩啊?
B:咩咩咩啊?
……
runif 我有同感,直到现在我仍然会看成 run if,而且会脑补 run if on fire 之类的……
——原帖发布于 2017-04-19 17:20:26
访客 *Liechi Zhang* @ 2017-04-20 01:34:14 写道:
哈哈,有意思。这个“咩”跟重庆话里“吗”的发音很像,不过细究起来,重庆话里的发音好像更接近于“迈”。这个对话例子让我想起了古龙小说里说广东话的宋甜儿了(楚留香系列)。
之前还以为就我会看错成 run...if 呢,因为从没听过身边别的人提起这样的感觉,这下就放心了。
访客 *大鹏* @ 2017-04-20 10:31:57 写道:
以前runif看起来完全没问题,现在完全被你们带沟里了……那我就提一下cex:有没有人跟我一样一直读成 sex 的?跟别人讨论的时候一念出口就后悔。其实应该读成kex,[c]haracter [ex]tension。
在 Sweave 年代还有 Sexpr……
——原帖发布于 2017-04-20 14:18:55
访客 *Liechi Zhang* @ 2017-04-20 15:30:13 写道:
念了很多回 sex,一直没这么联想,看来以后开口前会犹豫一下了。好在现在多用哥哥 plot,用 cex 的场合少了。
访客 *Beilei Bian* @ 2017-04-20 02:24:24 写道:
嗯,我争取改掉,hhhhh
访客 *Daijiang Li* @ 2017-04-20 03:54:52 写道:
一直用 if(x == TRUE) 啊,正如你说的,看起来容易懂,尤其是半年以后再回头看。不过最近 PR 的时候被要求改了。
访客 *Harry Zhu* @ 2017-04-29 14:06:12 写道:
df[which(df$factor == "something"),]
这种写法在面向对象的用户中非常普遍。。
直到后来接收了dplyr的洗礼改成
df %>%
filter(factor = "something")
Sign in to join the discussion
Sign in with GitHub