由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 从apply句型的潜在危险看R语言的俚语风格
相关主题
愚蠢到极点的R日期时间计算谁提示一下
必须喷一下pythonC++(非VC++) 删除链表时如何对指针操作? 在线等回复!谢谢!
matlab struct questionC++里能否在运行时check一个object里的member的名字,并且找出其指针?
[合集] Re: Re: Re: Re: Re: Java语言学校的危险性[转载]贴一下我的 12306 实现吧
Comparison Re: 组合的枚举算法?clojure的书那本好 适合学习?
再问个最短路径问题,从apply句型的潜在危险看R语言的俚语风格 (转载)
来,做题吧。R问题请教。
算24的程序请问R里apply和sapply有什么区别
m*****n
2017-11-12 01:34:56
1
apply句型是R最失败的句型,它的失败集中体现了R语言的底层结构的粗笨和任性
刚开始学R的同学可能都会被apply的所谓高效所惊叹
然而apply在R的本质就是元素枚举,它只是比列标枚举省了一步
sapply(1:10, print)
基本等同于以下的元素枚举
for( each in 1:10) print(each)
apply在应用时有两大缺陷,都与多变量函数有关
例如我要算一组数据,给定长宽,求长方形面积
或者对以长=20,宽=10的附近以0.1为精度的9*9偏扰动分析
但是apply家族的函数并没有提供同时变动多个自变量的计算,对不起,还是老实用for吧
那么我只变动一组数据,其余不变,可以算么?
这个用上匿名函数,还过得去
如果你有f(x1,x2,x3),只想变动x2,x1=a,x3=c

sapply( , function(x) f(a,x,c) )
如果说缺陷仅仅可以用R语言在编制时的功能简约来作借口,那么危险就是R语言的无可
推卸的责任了。
例如时间计算的常用包lubridate
require(lubridate)
d
h**********c
2017-11-12 01:56:49
2
日期函数都没整明白,歇歇吧
m*****n
2017-11-12 04:17:41
3
你的论点有了,论据呢?

【在 h**********c 的大作中提到】
: 日期函数都没整明白,歇歇吧
m*****n
2017-11-12 04:17:41
4
你的论点有了,论据呢?

【在 h**********c 的大作中提到】
: 日期函数都没整明白,歇歇吧
d******c
2017-11-12 13:58:22
5
我记得这个你以前抱怨过了,而且别人给你解释的挺清楚了。
需要又重新骂一遍吗?
一找就找出来那个旧贴了
https://www.mitbbs.com/article_t1/Programming/31508467_0_3.html
因为我印象很深,你的几乎所有帖子都是骂R的。

for吧

【在 m*****n 的大作中提到】
: apply句型是R最失败的句型,它的失败集中体现了R语言的底层结构的粗笨和任性
: 刚开始学R的同学可能都会被apply的所谓高效所惊叹
: 然而apply在R的本质就是元素枚举,它只是比列标枚举省了一步
: sapply(1:10, print)
: 基本等同于以下的元素枚举
: for( each in 1:10) print(each)
: apply在应用时有两大缺陷,都与多变量函数有关
: 例如我要算一组数据,给定长宽,求长方形面积
: 或者对以长=20,宽=10的附近以0.1为精度的9*9偏扰动分析
: 但是apply家族的函数并没有提供同时变动多个自变量的计算,对不起,还是老实用for吧

m******r
2017-11-12 19:07:19
6
我的大部分帖子也是骂R的。 不过我很快意识到,R这个语言和其它语言不一样。 比如
这个apply和函数编程有很大关系。你得多琢么琢么这个语言为什么长这个样子。
不过我早已看穿了R是火星语,你管他叫俚语, 的本质,文档也是吊郎当,所以早就放
弃了当初精通R的想法。
m*****n
2017-11-12 21:10:28
7
"我几乎从来不用apply,lapply倒是常用,那是为了避免自己手工初始化list。"
——好吧,你比我宽容,你只要R比C省事就满意了。

【在 d******c 的大作中提到】
: 我记得这个你以前抱怨过了,而且别人给你解释的挺清楚了。
: 需要又重新骂一遍吗?
: 一找就找出来那个旧贴了
: https://www.mitbbs.com/article_t1/Programming/31508467_0_3.html
: 因为我印象很深,你的几乎所有帖子都是骂R的。
:
: for吧

m*****n
2017-11-12 21:19:24
8
我花了两个星期处理行情数据,就为了算个回测。
新工作都可能要泡汤了,对方无法理解我为什么效率这么低。
体会一下两个星期想用一个语言做件事情,只是弄明白它在哪里有坑,是什么心情。
时间计算功能缺失我就忍了,apply和loop在执行时擅自把数据类型篡改了,这不能忍。
================================================================
发信人: didadida (滴滴嗒嗒), 信区: Programming
标 题: Re: 必须喷一下python
发信站: BBS 未名空间站 (Fri Aug 4 15:03:06 2017, 美东)

从你的这个简单问题看,你脑子真的很不怎么样,你中文系的吧?半路出家写程序。
就你还有脸张口就说别人笨
你代表了一类不适合编程的人,这类人执拗于一些黑箱子,反正简单:给个输入,黑箱
子给个输出。但是黑箱子总归有应用的局限。当别人给的黑箱子无法很直接地解决某个
问题时,你这种人不是去自己写个高效率的黑箱子(从你描述的问题看,写一个很
容易吧
,当然对笨人来说未必),或者绕个道做个变换来用已有

【在 m*****n 的大作中提到】
: "我几乎从来不用apply,lapply倒是常用,那是为了避免自己手工初始化list。"
: ——好吧,你比我宽容,你只要R比C省事就满意了。

m*****n
2017-11-12 21:40:12
9
我当然也会绕道
例如时间强制转数值表示多少秒那个
我就做个判断,如果类型已经被R偷偷改成数值了,我就再把它强制转回时间
只是在应用R的时候,时间都花在弥补R的缺陷上了,这对于一个应用者是极大的时间浪费
我又不是C语言工程师,有的是时间来重新搭建应用层,用高级语言不就是为了搭建方
便么?如果都要自己手工一个个造轮子,用它作甚?
m******r
2017-11-12 22:07:18
10
如果是时间紧的项目,我都用sas. 几天就能干完。
只有时间很充裕的项目,我才用R. 经常一卡卡一个星期,常有的事,琢磨各种R文档,
还到这个版来问一问。 当然你要事先找好各种理由,需要新的测试啊,业务太复杂,
数据太复杂啊。 肯定不能说在实验新方法 呵呵。

忍。

【在 m*****n 的大作中提到】
: 我花了两个星期处理行情数据,就为了算个回测。
: 新工作都可能要泡汤了,对方无法理解我为什么效率这么低。
: 体会一下两个星期想用一个语言做件事情,只是弄明白它在哪里有坑,是什么心情。
: 时间计算功能缺失我就忍了,apply和loop在执行时擅自把数据类型篡改了,这不能忍。
: ================================================================
: 发信人: didadida (滴滴嗒嗒), 信区: Programming
: 标 题: Re: 必须喷一下python
: 发信站: BBS 未名空间站 (Fri Aug 4 15:03:06 2017, 美东)
:
: 从你的这个简单问题看,你脑子真的很不怎么样,你中文系的吧?半路出家写程序。

m*****n
2017-11-12 22:12:39
11
说说python的anaconda吧,怎么学和学哪些?

【在 m******r 的大作中提到】
: 如果是时间紧的项目,我都用sas. 几天就能干完。
: 只有时间很充裕的项目,我才用R. 经常一卡卡一个星期,常有的事,琢磨各种R文档,
: 还到这个版来问一问。 当然你要事先找好各种理由,需要新的测试啊,业务太复杂,
: 数据太复杂啊。 肯定不能说在实验新方法 呵呵。
:
: 忍。

n******7
2017-11-13 01:49:36
12
你要明白R是怎么来的
本来就是个统计计算环境而已,用的人多了慢慢修修补补成一个语言
R的强项在于几乎所有统计的东西都有R实现,因为这算是他们发论文的default语言
我要是你我会首选python来做
另外apply之类的东西有个缺点就是不好debug

忍。

【在 m*****n 的大作中提到】
: 我花了两个星期处理行情数据,就为了算个回测。
: 新工作都可能要泡汤了,对方无法理解我为什么效率这么低。
: 体会一下两个星期想用一个语言做件事情,只是弄明白它在哪里有坑,是什么心情。
: 时间计算功能缺失我就忍了,apply和loop在执行时擅自把数据类型篡改了,这不能忍。
: ================================================================
: 发信人: didadida (滴滴嗒嗒), 信区: Programming
: 标 题: Re: 必须喷一下python
: 发信站: BBS 未名空间站 (Fri Aug 4 15:03:06 2017, 美东)
:
: 从你的这个简单问题看,你脑子真的很不怎么样,你中文系的吧?半路出家写程序。

m*****n
2017-11-13 02:21:50
13
问题是我用了元素枚举这么底层的结构,照样出bug,这么多年来R真的一点都不改毛病?

【在 n******7 的大作中提到】
: 你要明白R是怎么来的
: 本来就是个统计计算环境而已,用的人多了慢慢修修补补成一个语言
: R的强项在于几乎所有统计的东西都有R实现,因为这算是他们发论文的default语言
: 我要是你我会首选python来做
: 另外apply之类的东西有个缺点就是不好debug
:
: 忍。

n******7
2017-11-13 02:30:40
14
我也被各种implicit的转换坑过很多次
你要说为啥不改,因为这不是优先级吧
反正主要给学术界做统计分析的
也不会用来构建太复杂的系统
我也曾经考察过R的性能问题,发现官方的态度是
稳定压倒一切,性能不是优先级
哈哈
所以不满意就换语言呗,干嘛跟自己过不去
话说我现在终于不用R了真是挺开心的

病?

【在 m*****n 的大作中提到】
: 问题是我用了元素枚举这么底层的结构,照样出bug,这么多年来R真的一点都不改毛病?
d******c
2017-11-13 19:49:02
15
要是不喜欢R,用着不习惯,那就换个语言
股票回测的库和框架很多,有不少免费开放平台,有C#的,有py...

【在 m*****n 的大作中提到】
: 我花了两个星期处理行情数据,就为了算个回测。
: 新工作都可能要泡汤了,对方无法理解我为什么效率这么低。
: 体会一下两个星期想用一个语言做件事情,只是弄明白它在哪里有坑,是什么心情。
: 时间计算功能缺失我就忍了,apply和loop在执行时擅自把数据类型篡改了,这不能忍。
: ================================================================
: 发信人: didadida (滴滴嗒嗒), 信区: Programming
: 标 题: Re: 必须喷一下python
: 发信站: BBS 未名空间站 (Fri Aug 4 15:03:06 2017, 美东)
:
: 从你的这个简单问题看,你脑子真的很不怎么样,你中文系的吧?半路出家写程序。

m*****n
2017-11-13 22:24:22
16
我自己出于尊重知识产权的原因,
不用Matlab而用R.
这一回R把我坑惨了,认真的决定以后转Ana...

【在 d******c 的大作中提到】
: 要是不喜欢R,用着不习惯,那就换个语言
: 股票回测的库和框架很多,有不少免费开放平台,有C#的,有py...

w***g
2017-11-13 22:53:48
17
用个比较新的ubuntu比如16.04,不需要anaconda。
pip都能搞定。
不过我建议楼主不...

【在 m*****n 的大作中提到】
: 我自己出于尊重知识产权的原因,
: 不用Matlab而用R.
: 这一回R把我坑惨了,认真的决定以后转Ana...

m*****n
2017-11-14 00:13:23
18
python也有坑
例如网络连接,掉线后无法追溯原来的IP地址
但是主语法没有坑

【在 w***g 的大作中提到】
: 用个比较新的ubuntu比如16.04,不需要anaconda。
: pip都能搞定。
: 不过我建议楼主不...

n******7
2017-11-14 02:59:24
19
牛人,赞

【在 d******c 的大作中提到】
: 要是不喜欢R,用着不习惯,那就换个语言
: 股票回测的库和框架很多,有不少免费开放平台,有C#的,有py...

n******7
2017-11-14 03:00:47
20
尊重知识产权是对的
转Python也是对的

【在 m*****n 的大作中提到】
: 我自己出于尊重知识产权的原因,
: 不用Matlab而用R.
: 这一回R把我坑惨了,认真的决定以后转Ana...

d******c
2017-11-14 16:55:29
21
language specification没多少人看,不是必须的,我那是为了分析R代码排版。
in...

【在 m*****n 的大作中提到】
: 我自己出于尊重知识产权的原因,
: 不用Matlab而用R.
: 这一回R把我坑惨了,认真的决定以后转Ana...

m*****n
2017-11-15 02:58:14
22
只是做了个截取,R就把Dates给转成numeric了,什么狗屁东西!
> a = Sys.Date...
h**********c
2017-11-16 02:07:02
23
你这是老中式的思维,美国式的思维是谁把住了麦克风,谁就hot,
这是1984中的思维方式,但这种思维...

【在 d******c 的大作中提到】
: language specification没多少人看,不是必须的,我那是为了分析R代码排版。
: in...

p***r
2017-11-16 10:11:21
24
why dont you just you lapply instead?