楼主: ntwd87
837 9

[问答] 关于程序优化 [推广有奖]

  • 0关注
  • 0粉丝

本科生

67%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
996 点
帖子
64
精华
0
在线时间
93 小时
注册时间
2015-1-8
最后登录
2020-12-27

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位好,小弟学习R不久,且之前没有编程的背景,最近甚感写的程序过于冗杂,想进行优化。
例如如下一句代码,请问怎样可以表达的更清晰:
  1. cnop_pl_u <- pl_u_diff[,,1,]+pl_u_diff[,,2,]+pl_u_diff[,,3,]+pl_u_diff[,,4,]+pl_u_diff[,,5,]
复制代码

在不用for循环的前提下如何修改?
感谢回复,感谢提出建议!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:程序优化 各位好

回帖推荐

cheetahfly 发表于9楼  查看完整内容

大意了,大意了。 应该是: Reduce(`+`, lapply(1:5, function(x) pl_u_diff[, , x, ]))
沙发
Strive、 发表于 2018-2-1 16:44:16 |只看作者 |坛友微信交流群
我也是初学,试试sum(pl_u_diff[,,1:5,]) ?

使用道具

藤椅
ntwd87 发表于 2018-2-1 20:12:02 |只看作者 |坛友微信交流群
Strive、 发表于 2018-2-1 16:44
我也是初学,试试sum(pl_u_diff[,,1:5,]) ?
sum的话得到的就不是矩阵,是一个数了

使用道具

板凳
cheetahfly 在职认证  发表于 2018-2-1 22:58:16 |只看作者 |坛友微信交流群
apply(pl_u_diff[, , 1:5, ], 3, sum)
不过,只是简化,算不上优化

使用道具

报纸
tmdxyz 发表于 2018-2-2 06:43:23 |只看作者 |坛友微信交流群
看起来像是解微分方程?

使用道具

地板
ntwd87 发表于 2018-2-2 11:19:34 |只看作者 |坛友微信交流群
cheetahfly 发表于 2018-2-1 22:58
apply(pl_u_diff[, , 1:5, ], 3, sum)
不过,只是简化,算不上优化
谢谢,我来试试

使用道具

7
ntwd87 发表于 2018-2-2 11:19:59 |只看作者 |坛友微信交流群
tmdxyz 发表于 2018-2-2 06:43
看起来像是解微分方程?
是的,后面还要进一步求解,现在还是在整理数据

使用道具

8
ntwd87 发表于 2018-2-2 14:07:03 |只看作者 |坛友微信交流群
cheetahfly 发表于 2018-2-1 22:58
apply(pl_u_diff[, , 1:5, ], 3, sum)
不过,只是简化,算不上优化
不对哦,小哥

使用道具

9
cheetahfly 在职认证  发表于 2018-2-2 15:00:37 |只看作者 |坛友微信交流群
大意了,大意了。
应该是:
Reduce(`+`, lapply(1:5, function(x) pl_u_diff[, , x, ]))

使用道具

10
ntwd87 发表于 2018-2-2 15:45:56 |只看作者 |坛友微信交流群
cheetahfly 发表于 2018-2-2 15:00
大意了,大意了。
应该是:
Reduce(`+`, lapply(1:5, function(x) pl_u_diff[, , x, ]))
impressive, 谢谢,我试过了可以的,又学习到REDUCE这个函数,多谢

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-10-7 01:27