R_Language 板


LINE

[问题类型]: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来) [软体熟悉度]: 入门(写过其他程式,只是对语法不熟悉) [问题叙述] 想使用apply类型的函数将list内的元素加总,而不使用for loop [程式范例]: mat=matrix(1:4,2,2) mat.list=list(mat,mat,mat) 想加总成单一的矩阵 结构为:matrix(c(3,6,9,12),2,2) 有人知道不用loop的情况可以怎麽做吗? 谢谢 -- --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.152.120
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1421309862.A.0CF.html
1F:推 koai: 试试看 ?sapply 01/15 16:18
感觉好像有难度,lapply系列的,都是针对list的每一个物件,物件跟物件间的 元素好像没办法@@
2F:推 obarisk: do.call 01/15 17:38
我试试!谢谢
3F:推 celestialgod: apply(mat. list, 1:2, sum) 01/15 18:14
这个好像无法度
4F:推 celestialgod: Reduce也可以,只是do.call最有效率 01/15 18:15
我试试看,谢谢
5F:推 raysonic: Reduce('+' , mat.list) 01/15 18:44
感谢!!!解决了!!!! 抱歉,有人能示范在do.call要怎麽做到这件事吗?我目前没试出来
6F:→ obarisk: do.call好像不能用`+`,还是先用Reduce吧Orz 01/15 21:49
7F:→ obarisk: 要指定`+`.__C__matrix,但是这个我试不出来 01/15 21:54
感谢你,以前没用过do.call,现在看到就能开始想用在哪了~
8F:推 memphis: 如果list中的matrix大小一样 建议你这样做 01/15 22:07
9F:→ memphis: matrix(rowSums(matrix(unlist(mat.list), nrow=4)), nro 01/15 22:08
10F:→ memphis: w=2) 01/15 22:08
谢谢!!学习了!!!
11F:→ a78998042a: 谢谢!!!学习了 01/16 02:46
回报一下,我以Reduce的方法与m大以拆开再拼的做法比较,以长度为12582912的2by2 矩阵相加,Reduce是12.38秒,unlist是1.84秒。谢谢!!
12F:→ clickhere: do.call(.Primitive("+"), mat.list) 01/16 05:48
感谢!这样写在length(mat.list)==2时确实可以,长度>2的还要再试试
13F:→ obarisk: apply和 for的效能应该没差多少 01/16 09:26
你好,参考一下,因为最近学校给了份模拟跌代的作业,写出来的结果,for要约3.7天, 通篇apply2.5天,再配合sapply进行优化有人到1.5天以内(Reduec),接着可能会试M大 的方法。 ※ 编辑: a78998042a (140.116.152.120), 01/16/2015 14:26:33 ※ 编辑: a78998042a (140.116.152.120), 01/16/2015 14:28:09
14F:→ obarisk: for 要用 compiler,不过我太晓得目前jit的情况 01/16 15:14
15F:→ obarisk: 如果要超过小时的code,还是推RCpp吧 01/16 15:14
谢谢!!又学习了,看来我对R的了解仍是一知半解阿 ※ 编辑: a78998042a (140.116.1.136), 01/16/2015 17:35:47
16F:→ yanchenglin: 推Rcpp, RcppArmadillo.还有若是你每次回圈或是模拟 01/16 18:47
17F:→ yanchenglin: 都是独立的,平行运算也很快.Rcpp+平行运算直接逆天!! 01/16 18:48
18F:→ yanchenglin: 简单说,模拟K次,K次间都独立,可以分散到N个CPU平行~~ 01/16 18:49
19F:推 Edster: 为什麽不用array? 01/17 15:31
20F:→ Edster: mat.array = array(mat, 1:3) # 可能是吧, 随意写. 01/17 15:31
21F:→ Edster: sum(mat.array[,,1:3]) 01/17 15:32
22F:→ Edster: 你的每个list维度都一样, 用array比较简单吧. 01/17 15:33
23F:推 celestialgod: 我回错了...apply那个只能用到3维阵列... 01/17 19:44







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP