R_Language 板


LINE

[问题类型]: 效能谘询(我想让R 跑更快) [软体熟悉度]: 入门(写过其他程式,只是对语法不熟悉) [问题叙述]: 问题是关於运算速度的差异 1.在A function中又使用了B function作运算 Ex. r = abs(diff(P[(t-(N+1)):(t-1)])) sum(r)/N 2.先执行B function,将结果以b储存,在将b用A function作运算 Ex. sum(abs(diff(P[(t-(N+1)):(t-1)])))/N 以上两种写法想请教一下,在执行的速度上会有很大的差异吗? 小弟完整的程式中会是包更多个function 烦请大大们给予点建议,谢谢 ^^ [程式范例]: -- 离开你的视线~让情绪完完整整的宣泄~ 我想今夜就这样吧~ 反正孤独也无所谓~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.228.141.5
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1441899128.A.3B9.html ※ 编辑: PhysicsBoy (61.228.141.5), 09/10/2015 23:32:35
1F:→ celestialgod: 少复制一次记忆体,应该有差 09/11 00:06
2F:→ celestialgod: 但是差异应该很小 09/11 00:06
3F:→ celestialgod: 你可以rbenchmark 1000次看看 09/11 00:07
4F:→ andrew43: 考虑程式码开发与维护的成本常常比执行速度还重要很多。 09/11 13:57
5F:→ andrew43: 如果与都写在一起,要除虫或改写会比较难。请考虑这点。 09/11 13:59
6F:→ celestialgod: 所以这时候要推荐magrittr 09/11 14:00
7F:→ celestialgod: P %>% '['((t-(N+1)):(t-1)) %>% diff %>% abs %>% 09/11 14:01
8F:→ celestialgod: sum %>% divide_by(N) 09/11 14:01
9F:→ celestialgod: magrittr可以在板上搜寻到介绍文章 09/11 14:01
10F:→ PhysicsBoy: 长知识了,有空来研究一下,至於维护就靠详细笔记^^ 09/11 14:59
11F:推 andrew43: 注意程式码过度相依的问题。只是原则没有绝对。 09/11 21:41
12F:推 Edster: 什麽是程式码过度相依? 09/11 23:13
13F:→ andrew43: 例如函数A里使用函数B,如果函数B要改,就改函数B就好。 09/12 00:33
14F:→ andrew43: 若都写在一起成函数C,想改变原本函数B的部份都要改写。 09/12 00:36
15F:→ andrew43: 简单来说,避免「牵一发而动全身」就是了。 09/12 00:38
16F:→ andrew43: 至於相依,在这个例子不太明显。在开发package可能会明 09/12 00:39
17F:→ andrew43: 白一点。 09/12 00:40
18F:→ celestialgod: 把a大的话翻译一下,应该是重复使用的程式应该独立 09/12 00:40
19F:→ celestialgod: 避免更改时只有更动到部分的block 09/12 00:40
20F:→ andrew43: 相依就像A函数的使用方法被B函数决定。一改B函数,A就错 09/12 00:41
21F:→ andrew43: 了。 09/12 00:42
22F:→ celestialgod: 针对性的函数,不能一体适用... 09/12 00:42
23F:→ celestialgod: 这时候要考虑用class去做函数方法运用 09/12 00:43
24F:→ celestialgod: 或是加入case control避免更动其中一部分的函数 09/12 00:43
25F:→ celestialgod: 造成其他函数的结果出问题 或是 不正确运行 09/12 00:44
26F:→ andrew43: 这些都只是原则,没有一定要怎麽做。好用好改就好。 09/12 00:45
27F:→ andrew43: 多谢c兄帮忙解释。 09/12 00:45
28F:→ celestialgod: 我上次看dr的原始码看得很痛苦= = 09/12 00:46
29F:→ celestialgod: 他东拆拆西拆拆都看不懂了...叹气... 09/12 00:47
30F:→ celestialgod: 我有时候也不懂到底拆分出常用的CODE是否真的会 09/12 00:48
31F:→ celestialgod: 比较好 09/12 00:48
32F:→ celestialgod: 我知道至少在修改跟维护上面会方便很多 09/12 00:49
33F:→ celestialgod: 在读者眼中可能不见得是好事... 09/12 00:49
34F:→ celestialgod: 可能两个稍微不同的CASE用同一个函数处理 09/12 00:50
35F:→ celestialgod: 可能要花很多时间去找相异之处 09/12 00:50
36F:→ celestialgod: 一切真的是看每个人 09/12 00:50
37F:→ andrew43: 如果看到作者的UML,说不定就秒看懂了~ 09/12 00:59
38F:→ celestialgod: 所以应该建议r package在打包时做network 09/12 01:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP