由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - R 有点令人失望
相关主题
biostatistician/SAS programmer position in Chicago (contractor)无比纠结的facebook offer---长贴
招人 (big data 相关)后Hadoop时代的大数据架构
The next big thing in statistics computing area?Amazon诚招有大数据,机器学习相关经验的SDE2,SDE3
刚知道我邻居的工资,很郁闷想搞一些便宜的二手机 组个hadoop cluster
Healthcare Data Analyst positionn in Boston MA哪里有便宜的hadoop计算平台
讨论,(Big)Data Engineer到底是个什么职位大牛们,请教大数据系统如何架构
go很牛啊。这个10ms 非常快了。FP的好处是不是就是Concurrency?
会Python就可以当码工了?玩具语言其实很容易实现的
相关话题的讨论汇总
话题: sas话题: python话题: id1话题: 数据话题: data
进入Statistics版参与讨论
1 (共1页)
D******n
发帖数: 2836
1
做一个东西,分别用了R和SAS实现。
R比较好写code,可是SAS在速度上超出R很多
基本上SAS是
data new;
set old;
by id;
%dosth;
run;
R就是
new <- split(old,old$id) #这步没有进入速度比较
g<-sapply(new,func_dosth);
由于dosth是对matrix结构的数据进行操作,用R写自然很多,用SAS写比较别扭。
可是一比较,SAS的速度是R的10到20倍。
如果是1秒跟10秒的区别还好,问题是数据都比较大,那就是1天跟20天的区别。
R可以洗洗睡了。
k*******a
发帖数: 772
2
有同感。。。
R********n
发帖数: 519
3
R除了速度显著慢之外,还有的问题就是可靠性。同一个算法/模型,通常很多package
实现,但是互相之间结果不总是一致,并且也不知道这种开源包到底实现得对不对
整体感觉学术界用来玩玩R还好,业界如果用R的话,只适合一些要求不高的场合

【在 D******n 的大作中提到】
: 做一个东西,分别用了R和SAS实现。
: R比较好写code,可是SAS在速度上超出R很多
: 基本上SAS是
: data new;
: set old;
: by id;
: %dosth;
: run;
: R就是
: new <- split(old,old$id) #这步没有进入速度比较

s********0
发帖数: 2625
4
这种月经问题。。。。。。这就好像举重的和短跑的都是搞体育的,举重的天天要和短
跑的比力气,短跑的反过来只愿意比速度。。。。
你要是习惯或者必须遵守某些标准,然后又喜欢用现成的且可靠的package,那就去用
SAS。
你要是想尝试一些很新的东西,或者需要做一些很灵活的东西。。。。。
I*****a
发帖数: 5425
5
是这个道理。

【在 s********0 的大作中提到】
: 这种月经问题。。。。。。这就好像举重的和短跑的都是搞体育的,举重的天天要和短
: 跑的比力气,短跑的反过来只愿意比速度。。。。
: 你要是习惯或者必须遵守某些标准,然后又喜欢用现成的且可靠的package,那就去用
: SAS。
: 你要是想尝试一些很新的东西,或者需要做一些很灵活的东西。。。。。

q**j
发帖数: 10612
6
请问你是什么操作系统?好像windows下面差很多,linux下面就不一定了。另外我自己
尝试过,windows下面R根本就不能处理大数据,但是好像挺朋友说linux下面就没有问
题。请问这个是否属实,为什么?另外请问python和R各有什么比较好的optimization
的package。多谢。

做一个东西,分别用了R和SAS实现。
R比较好写code,可是SAS在速度上超出R很多
基本上SAS是
data new;
set old;
by id;
%dosth;
run;
R就是
new <- split(old,old$id) #这步没有进入速度比较
g<-sapply(new,func_dosth);
由于dosth是对matrix结构的数据进行操作,用R写自然很多,用SAS写比较别扭。
可是一比较,SAS的速度是R的10到20倍。
如果是1秒跟10秒的区别还好,问题是数据都比较大,那就是1天跟20天的区别。
R可以洗洗睡了。

【在 D******n 的大作中提到】
: 做一个东西,分别用了R和SAS实现。
: R比较好写code,可是SAS在速度上超出R很多
: 基本上SAS是
: data new;
: set old;
: by id;
: %dosth;
: run;
: R就是
: new <- split(old,old$id) #这步没有进入速度比较

R********n
发帖数: 519
7
追求新和灵活也可以其他选择。比如matlab,官方package很可靠。开源/free的
package,可以自己去看源代码保证质量

【在 s********0 的大作中提到】
: 这种月经问题。。。。。。这就好像举重的和短跑的都是搞体育的,举重的天天要和短
: 跑的比力气,短跑的反过来只愿意比速度。。。。
: 你要是习惯或者必须遵守某些标准,然后又喜欢用现成的且可靠的package,那就去用
: SAS。
: 你要是想尝试一些很新的东西,或者需要做一些很灵活的东西。。。。。

s********0
发帖数: 2625
8
嗯,matlab是不错,但matlab毕竟不是专门用来做统计的。。。。。。而且你说的这几
个优点,R也都具备。
说来说去,如果不能提出具体的情况和要求,只是泛泛的比较这些软件,真没什么意思
。。。。。

【在 R********n 的大作中提到】
: 追求新和灵活也可以其他选择。比如matlab,官方package很可靠。开源/free的
: package,可以自己去看源代码保证质量

D******n
发帖数: 2836
9
这个比喻不恰当吧。 anyway,不是非要用R,而是R整天在那里鼓吹可以代替SAS。还
big Data。每每用了,都太失望。我这里还没有涉及到任何package的问题,只是一些
简单的对二维数据的操作。

【在 s********0 的大作中提到】
: 这种月经问题。。。。。。这就好像举重的和短跑的都是搞体育的,举重的天天要和短
: 跑的比力气,短跑的反过来只愿意比速度。。。。
: 你要是习惯或者必须遵守某些标准,然后又喜欢用现成的且可靠的package,那就去用
: SAS。
: 你要是想尝试一些很新的东西,或者需要做一些很灵活的东西。。。。。

D******n
发帖数: 2836
10
这个就是linux下面的R跟SAS比,
python也是我现在想到的东西,不知道是否给R快。我对python不熟,可能statcompute
可以回答这个问题。

optimization

【在 q**j 的大作中提到】
: 请问你是什么操作系统?好像windows下面差很多,linux下面就不一定了。另外我自己
: 尝试过,windows下面R根本就不能处理大数据,但是好像挺朋友说linux下面就没有问
: 题。请问这个是否属实,为什么?另外请问python和R各有什么比较好的optimization
: 的package。多谢。
:
: 做一个东西,分别用了R和SAS实现。
: R比较好写code,可是SAS在速度上超出R很多
: 基本上SAS是
: data new;
: set old;

相关主题
讨论,(Big)Data Engineer到底是个什么职位无比纠结的facebook offer---长贴
go很牛啊。这个10ms 非常快了。后Hadoop时代的大数据架构
会Python就可以当码工了?Amazon诚招有大数据,机器学习相关经验的SDE2,SDE3
进入Statistics版参与讨论
N**N
发帖数: 1713
11
没看到statcompute版。。是俱乐部吗?

statcompute

【在 D******n 的大作中提到】
: 这个就是linux下面的R跟SAS比,
: python也是我现在想到的东西,不知道是否给R快。我对python不熟,可能statcompute
: 可以回答这个问题。
:
: optimization

h***t
发帖数: 2540
12
你R code写的不efficient当然跑的慢。

【在 D******n 的大作中提到】
: 做一个东西,分别用了R和SAS实现。
: R比较好写code,可是SAS在速度上超出R很多
: 基本上SAS是
: data new;
: set old;
: by id;
: %dosth;
: run;
: R就是
: new <- split(old,old$id) #这步没有进入速度比较

t******o
发帖数: 70
13
我有类似的经历。
我做genomics data,都是上g的data,R读数据基本上是考验耐心,而SAS都是几秒钟就
读进去。
曾经做multiple imputation,对一个比较大的数据impute missing value。
R的code就很短的三五行,结果运行时间估计是20小时。
同事做计算机的,写了满满一页perl code来实现。写code花了半个小时,运行不到三
分钟。
R的有点在于有很多现成的统计函数和模块,但data manipulation上速度确实比SAS慢
很多,更不用说perl,C++之类的

【在 h***t 的大作中提到】
: 你R code写的不efficient当然跑的慢。
L*****k
发帖数: 327
14
python/perl/matlab/etc,都会比R显著的快

statcompute

【在 D******n 的大作中提到】
: 这个就是linux下面的R跟SAS比,
: python也是我现在想到的东西,不知道是否给R快。我对python不熟,可能statcompute
: 可以回答这个问题。
:
: optimization

s*********e
发帖数: 1051
15
try data.table package.
q**j
发帖数: 10612
16
请问你们上g的数据一般存在哪里?另外perl和python比,哪个速度快,还是差不多?

【在 t******o 的大作中提到】
: 我有类似的经历。
: 我做genomics data,都是上g的data,R读数据基本上是考验耐心,而SAS都是几秒钟就
: 读进去。
: 曾经做multiple imputation,对一个比较大的数据impute missing value。
: R的code就很短的三五行,结果运行时间估计是20小时。
: 同事做计算机的,写了满满一页perl code来实现。写code花了半个小时,运行不到三
: 分钟。
: R的有点在于有很多现成的统计函数和模块,但data manipulation上速度确实比SAS慢
: 很多,更不用说perl,C++之类的

q**j
发帖数: 10612
17
能讲讲这个能加快R多少,如何加快的?多谢。另外python做optimization有没有好的
package?多谢。

【在 s*********e 的大作中提到】
: try data.table package.
s*********e
发帖数: 1051
18
看情况。SQLite 的portability 好,但是hdf5的读取速度快。

【在 q**j 的大作中提到】
: 请问你们上g的数据一般存在哪里?另外perl和python比,哪个速度快,还是差不多?
D******n
发帖数: 2836
19
刚试了一下perl,
running time , R:Perl:SAS = 21 : 3.4: 1
perl比R快多了,主要原因可能还是由于R没有pass by reference的机制。function都
是把parameter copy 一次,所以速度就慢很多。
同是解释语言,perl等就有pass by reference的机制,不知道为啥R没有,这简直就是
一个大缺陷。

【在 L*****k 的大作中提到】
: python/perl/matlab/etc,都会比R显著的快
:
: statcompute

q**j
发帖数: 10612
20
sas 的背后是什么语言,为什么这么快?不会是汇编吧。

【在 D******n 的大作中提到】
: 刚试了一下perl,
: running time , R:Perl:SAS = 21 : 3.4: 1
: perl比R快多了,主要原因可能还是由于R没有pass by reference的机制。function都
: 是把parameter copy 一次,所以速度就慢很多。
: 同是解释语言,perl等就有pass by reference的机制,不知道为啥R没有,这简直就是
: 一个大缺陷。

相关主题
想搞一些便宜的二手机 组个hadoop clusterFP的好处是不是就是Concurrency?
哪里有便宜的hadoop计算平台玩具语言其实很容易实现的
大牛们,请教大数据系统如何架构如果不用很高级的feature,C++/Scala是否值得一战?
进入Statistics版参与讨论
s*r
发帖数: 2757
21
你要看你自己的编程时间的亚
s*********e
发帖数: 1051
22
> n <- 1000000
> set.seed(2013)
> ldf <- data.frame(id1 = sample(n, n), id2 = sample(n / 100, n, replace =
TRUE), x1 = rnorm(n), x2 = runif(n))
> rdf <- data.frame(id1 = sample(n, n), id2 = sample(n / 100, n, replace =
TRUE), y1 = rnorm(n), y2 = runif(n))
>
> # METHOD 1: MERGE
> system.time(join1 <- merge(ldf, rdf, by = c("id1", "id2")))
user system elapsed
54.028 11.229 65.673
>
> # METHOD 2: PLYR
> # library(plyr)
> # system.time(join2 <- plyr::join(ldf, rdf, by = c("id1", "id2"), type = "
inner"))
>
> # METHOD 3: SQLDF
> system.time(join3 <- sqldf::sqldf("select * from ldf inner join rdf on ldf
.id1 = rdf.id1 and ldf.id2 = rdf.id2"))
user system elapsed
101.522 117.319 225.579
>
> # METHOD 4: DATA.TABLE
> ldt <- data.table::data.table(ldf, key = c("id1", "id2"))
> rdt <- data.table::data.table(rdf, key = c("id1", "id2"))
> system.time(join4 <- merge(ldt, rdt, by = c("id1", "id2")))
user system elapsed
0.5 0.0 0.5
>
> # METHOD 5: FF
> lff <- ff::as.ffdf(ldf)
> rff <- ff::as.ffdf(rdf)
> system.time(join5 <- merge(lff, rff, by = c("id1", "id2")))
user system elapsed
50.879 5.552 56.868

【在 q**j 的大作中提到】
: 能讲讲这个能加快R多少,如何加快的?多谢。另外python做optimization有没有好的
: package?多谢。

h***x
发帖数: 586
23
据说是C

【在 q**j 的大作中提到】
: sas 的背后是什么语言,为什么这么快?不会是汇编吧。
r***v
发帖数: 12658
24
最开始是FORTRAN,然后用C改写了一遍

【在 q**j 的大作中提到】
: sas 的背后是什么语言,为什么这么快?不会是汇编吧。
b********m
发帖数: 65
25
所有Script语言速度都差不太多,除非用了傻X package.
Scipy.optimization under python!

【在 q**j 的大作中提到】
: 能讲讲这个能加快R多少,如何加快的?多谢。另外python做optimization有没有好的
: package?多谢。

t******g
发帖数: 372
26
有倒是有,与速度提升不大,多是出于内存考量
简单的可以pass enviroment, 复杂的需要写oop了

【在 D******n 的大作中提到】
: 刚试了一下perl,
: running time , R:Perl:SAS = 21 : 3.4: 1
: perl比R快多了,主要原因可能还是由于R没有pass by reference的机制。function都
: 是把parameter copy 一次,所以速度就慢很多。
: 同是解释语言,perl等就有pass by reference的机制,不知道为啥R没有,这简直就是
: 一个大缺陷。

t****a
发帖数: 1212
27
R在运行效率上是有很多坑,不小心就掉进去了。关于R的并行计算以及大数据操作可以
参考
http://cran.r-project.org/web/views/HighPerformanceComputing.ht
R是免费的,SAS是要付钱的。R是一种语言,SAS就是个tool。总得有几个亮点,否则谁
用阿?
---------------------------
某种程度上说,R是给程序员用的,SAS是给统计师用的,客户不一样。
R有众多的第三方包,有最新的东西,这点SAS完全比不上,SAS就是个古董。
R和linux其他工具整合的很好。如果觉得它不够快,那么推荐配合其他工具一起使用。
1. 小数据直接用R
2. 中等规模数据用awk, python之类配合R
3. 大规模数据用hadoop cluster配合R streaming
在我的工作中,通常处理大规模数据,做aggregation的是其他语言,R是最后一步。
------------------------
既然知道R没有pass by reference,为什么还要传那么多大变量呢?用全局或者可以访
问的局部变量不就可以了么。

【在 D******n 的大作中提到】
: 做一个东西,分别用了R和SAS实现。
: R比较好写code,可是SAS在速度上超出R很多
: 基本上SAS是
: data new;
: set old;
: by id;
: %dosth;
: run;
: R就是
: new <- split(old,old$id) #这步没有进入速度比较

q**j
发帖数: 10612
28
请问大中小数据的分界线如何?另外你说的R和python配合是如何配合?就是处理数据用
Python,run 统计model wiht R?

【在 t****a 的大作中提到】
: R在运行效率上是有很多坑,不小心就掉进去了。关于R的并行计算以及大数据操作可以
: 参考
: http://cran.r-project.org/web/views/HighPerformanceComputing.ht
: R是免费的,SAS是要付钱的。R是一种语言,SAS就是个tool。总得有几个亮点,否则谁
: 用阿?
: ---------------------------
: 某种程度上说,R是给程序员用的,SAS是给统计师用的,客户不一样。
: R有众多的第三方包,有最新的东西,这点SAS完全比不上,SAS就是个古董。
: R和linux其他工具整合的很好。如果觉得它不够快,那么推荐配合其他工具一起使用。
: 1. 小数据直接用R

D******n
发帖数: 2836
29
Thanks for the link.
你说的都没错。问题如果你好不容易用R做出来个东西,还要痛苦的转到SAS,那真是折
腾。
只要R快一点或者SAS可以方便处理matrix,事情都会好办很多。
SAS的proc fcmp已经在向这方面努力

【在 t****a 的大作中提到】
: R在运行效率上是有很多坑,不小心就掉进去了。关于R的并行计算以及大数据操作可以
: 参考
: http://cran.r-project.org/web/views/HighPerformanceComputing.ht
: R是免费的,SAS是要付钱的。R是一种语言,SAS就是个tool。总得有几个亮点,否则谁
: 用阿?
: ---------------------------
: 某种程度上说,R是给程序员用的,SAS是给统计师用的,客户不一样。
: R有众多的第三方包,有最新的东西,这点SAS完全比不上,SAS就是个古董。
: R和linux其他工具整合的很好。如果觉得它不够快,那么推荐配合其他工具一起使用。
: 1. 小数据直接用R

n*****n
发帖数: 3123
30
money talks
相关主题
macro is evil招人 (big data 相关)
Java Dev&Big Data Cloud Experience- Bellevue, WAThe next big thing in statistics computing area?
biostatistician/SAS programmer position in Chicago (contractor)刚知道我邻居的工资,很郁闷
进入Statistics版参与讨论
T***y
发帖数: 43
31
尺有所短,寸有所长。
大家都是出来跑江湖的,没有几把刷子早就被市场淘汰了
o****o
发帖数: 8077
32
I am thinking of compiling R math functions and wrap them into SAS using
PROC FCMP.
Interested?

【在 D******n 的大作中提到】
: Thanks for the link.
: 你说的都没错。问题如果你好不容易用R做出来个东西,还要痛苦的转到SAS,那真是折
: 腾。
: 只要R快一点或者SAS可以方便处理matrix,事情都会好办很多。
: SAS的proc fcmp已经在向这方面努力

t****a
发帖数: 1212
33
不用特殊的包,R需要把数据读进内存才能操作,而且很多函数会生成新object,很容
易把内存耗尽。
内存有8G的话,1G以下的数据R可以搞定。
中等数据就是若干G,一般10G以内的那种,用python awk的优点是无需读入内存,速度
还可以忍受。
数据超过10G甚至更大,个人感觉应该用hadoop来做。前提是算法本身要可以被
partition成小块并行处理。这个时候可以随便用什么语言来streaming,如果你不喜欢
java的话。

据用

【在 q**j 的大作中提到】
: 请问大中小数据的分界线如何?另外你说的R和python配合是如何配合?就是处理数据用
: Python,run 统计model wiht R?

n*****3
发帖数: 1584
34
10G 用hadoop ? overkilled I think;
add memory.....
hadoop is NOT free, more PCs cost lost more than memory.

【在 t****a 的大作中提到】
: 不用特殊的包,R需要把数据读进内存才能操作,而且很多函数会生成新object,很容
: 易把内存耗尽。
: 内存有8G的话,1G以下的数据R可以搞定。
: 中等数据就是若干G,一般10G以内的那种,用python awk的优点是无需读入内存,速度
: 还可以忍受。
: 数据超过10G甚至更大,个人感觉应该用hadoop来做。前提是算法本身要可以被
: partition成小块并行处理。这个时候可以随便用什么语言来streaming,如果你不喜欢
: java的话。
:
: 据用

t****a
发帖数: 1212
35
今天有10G业务数据,明天就有20G,30G,该未雨绸缪早点做好准备。
内存不能无限量加下去,而且数据很大的时候主要瓶颈在磁盘IO,加内存最多把问题从
不能做变成能做,而不能把解决问题的速度加快。
关于机器的成本...,用EMR阿,租用PC,按小时收费的,small instance一小时$0.02
划算的很,我们的时间比什么都值钱。

【在 n*****3 的大作中提到】
: 10G 用hadoop ? overkilled I think;
: add memory.....
: hadoop is NOT free, more PCs cost lost more than memory.

l*********s
发帖数: 5409
36
Yeah, that is confusing. But you could use SAS to evaluate R's results,
assuming SAS is 100% correct(a big leap of faith)

package

【在 R********n 的大作中提到】
: R除了速度显著慢之外,还有的问题就是可靠性。同一个算法/模型,通常很多package
: 实现,但是互相之间结果不总是一致,并且也不知道这种开源包到底实现得对不对
: 整体感觉学术界用来玩玩R还好,业界如果用R的话,只适合一些要求不高的场合

D**u
发帖数: 288
37
可是不是所有任务都可以 partition 到 hadoop 中去

02

【在 t****a 的大作中提到】
: 今天有10G业务数据,明天就有20G,30G,该未雨绸缪早点做好准备。
: 内存不能无限量加下去,而且数据很大的时候主要瓶颈在磁盘IO,加内存最多把问题从
: 不能做变成能做,而不能把解决问题的速度加快。
: 关于机器的成本...,用EMR阿,租用PC,按小时收费的,small instance一小时$0.02
: 划算的很,我们的时间比什么都值钱。

o****o
发帖数: 8077
38
分析的规模不管要看字节数,还要看实际运算,10G的数据是大,不过如果只有几列实
数变量,求个描述统计量,线性回归啥的也不会多头疼,用SAS妥妥的,那需要HADOOP
啊;但是如果是上万列实数变量,这个就难办了。

【在 t****a 的大作中提到】
: 不用特殊的包,R需要把数据读进内存才能操作,而且很多函数会生成新object,很容
: 易把内存耗尽。
: 内存有8G的话,1G以下的数据R可以搞定。
: 中等数据就是若干G,一般10G以内的那种,用python awk的优点是无需读入内存,速度
: 还可以忍受。
: 数据超过10G甚至更大,个人感觉应该用hadoop来做。前提是算法本身要可以被
: partition成小块并行处理。这个时候可以随便用什么语言来streaming,如果你不喜欢
: java的话。
:
: 据用

S******y
发帖数: 1123
39
Not all 任务可以 partition 到 hadoop 中去
-------------
Regarding R, you can optimize loading of csv file to make read-in faster...
On data size, my experience is that when data size surpasses ~20 GB, my 64
bit R running on a Linux box with lots of memory starts to sputter.
But SAS is not fast either when reading/writing 20 GB or 30 GB SAS data file
with single I/O...

【在 D**u 的大作中提到】
: 可是不是所有任务都可以 partition 到 hadoop 中去
:
: 02

t****a
发帖数: 1212
40
干一件事的话,求个描述统计量也不用SAS ... 一行awk就搞定了。说hadoop是从处理
速度和吞吐量来考虑的。
真心不想被commercial的软件给困住,况且就我这个半个developer所看到的,SAS的能
力实在太有限了。
还是那句话,术业有专攻... 软件也是一样,本来用户就不是一样的。

HADOOP

【在 o****o 的大作中提到】
: 分析的规模不管要看字节数,还要看实际运算,10G的数据是大,不过如果只有几列实
: 数变量,求个描述统计量,线性回归啥的也不会多头疼,用SAS妥妥的,那需要HADOOP
: 啊;但是如果是上万列实数变量,这个就难办了。

相关主题
刚知道我邻居的工资,很郁闷go很牛啊。这个10ms 非常快了。
Healthcare Data Analyst positionn in Boston MA会Python就可以当码工了?
讨论,(Big)Data Engineer到底是个什么职位无比纠结的facebook offer---长贴
进入Statistics版参与讨论
o****o
发帖数: 8077
41
give some examples that SAS can't do in typical data analysis, so that I can
get prepared when I encounter them in the future. Due to limited experience
, SAS is sufficient for me so far, I think more diffcult will come from IT
related stuffs.
I know in many cases, it is tedious to write many lines of SAS code to just
finish one thing that is so simple to accomplish in a matrix based script
language, so I am looking for more and newer cases.

【在 t****a 的大作中提到】
: 干一件事的话,求个描述统计量也不用SAS ... 一行awk就搞定了。说hadoop是从处理
: 速度和吞吐量来考虑的。
: 真心不想被commercial的软件给困住,况且就我这个半个developer所看到的,SAS的能
: 力实在太有限了。
: 还是那句话,术业有专攻... 软件也是一样,本来用户就不是一样的。
:
: HADOOP

c*******o
发帖数: 8869
42
but think about a scenario where you want to open a software as service
company that does data analysis for clients... It is not a good idea to use
SAS as your backend computing engine.
When you are small, SAS will charge you license which is not too bad...
when you grow bigger, SAS will change the licensing price and even ban you
from doing so....

can
experience
just

【在 o****o 的大作中提到】
: give some examples that SAS can't do in typical data analysis, so that I can
: get prepared when I encounter them in the future. Due to limited experience
: , SAS is sufficient for me so far, I think more diffcult will come from IT
: related stuffs.
: I know in many cases, it is tedious to write many lines of SAS code to just
: finish one thing that is so simple to accomplish in a matrix based script
: language, so I am looking for more and newer cases.

c*******o
发帖数: 8869
43

many or most so called "第三方包" and "最新的东西" are just simple re-
packaging of a handful of basic modules that are pre-existing.....

【在 t****a 的大作中提到】
: 干一件事的话,求个描述统计量也不用SAS ... 一行awk就搞定了。说hadoop是从处理
: 速度和吞吐量来考虑的。
: 真心不想被commercial的软件给困住,况且就我这个半个developer所看到的,SAS的能
: 力实在太有限了。
: 还是那句话,术业有专攻... 软件也是一样,本来用户就不是一样的。
:
: HADOOP

w********m
发帖数: 1137
44
不要用R做行操作
象R,Matlab,SAS/IML这类的矩阵语言默认的数据结构是matrix,处理数据是column
processing。反之,SAS,Perl,Python这类的脚本语言处理数据是row processing。
用它们行操作比如读外部数据,前者的复杂度是O(n^2),后者是O(n)。对较大的数据来
说,效率不能同日而语。
R最好有个脚本语言做前台,比如python。
个人觉得比较好的做法是先把数据load进database
s*********e
发帖数: 1051
45
right on

【在 w********m 的大作中提到】
: 不要用R做行操作
: 象R,Matlab,SAS/IML这类的矩阵语言默认的数据结构是matrix,处理数据是column
: processing。反之,SAS,Perl,Python这类的脚本语言处理数据是row processing。
: 用它们行操作比如读外部数据,前者的复杂度是O(n^2),后者是O(n)。对较大的数据来
: 说,效率不能同日而语。
: R最好有个脚本语言做前台,比如python。
: 个人觉得比较好的做法是先把数据load进database

q**j
发帖数: 10612
46
请问用Python做前台,R做后台具体是怎么做?用python吧数据整理好,call R去estim
ate?

【在 w********m 的大作中提到】
: 不要用R做行操作
: 象R,Matlab,SAS/IML这类的矩阵语言默认的数据结构是matrix,处理数据是column
: processing。反之,SAS,Perl,Python这类的脚本语言处理数据是row processing。
: 用它们行操作比如读外部数据,前者的复杂度是O(n^2),后者是O(n)。对较大的数据来
: 说,效率不能同日而语。
: R最好有个脚本语言做前台,比如python。
: 个人觉得比较好的做法是先把数据load进database

w********m
发帖数: 1137
47
前一段时间听Wickham Hadley大侠的观点是,统计编程的未来在web,应该跟web
development一样进行分层架构。
数据层Python操作和变形数据。
逻辑层R做统计模型。
表现层JavaScript实现数据在web的互动和可视化。
如果他的想法真能在RStudio实现,统计的境界可能就不一样了。

estim

【在 q**j 的大作中提到】
: 请问用Python做前台,R做后台具体是怎么做?用python吧数据整理好,call R去estim
: ate?

D******n
发帖数: 2836
48
too many,
Basically whenever u have to do sth across records and/or column-wise
processing.
Not neccesarrily IT, think about trade lines, or claims. One person can have
mutliple
trade lines or claims.

can
experience
just

【在 o****o 的大作中提到】
: give some examples that SAS can't do in typical data analysis, so that I can
: get prepared when I encounter them in the future. Due to limited experience
: , SAS is sufficient for me so far, I think more diffcult will come from IT
: related stuffs.
: I know in many cases, it is tedious to write many lines of SAS code to just
: finish one thing that is so simple to accomplish in a matrix based script
: language, so I am looking for more and newer cases.

q**j
发帖数: 10612
49
有两个问题。
第一个就是有没有让r和python接口的程序推荐?
第二个比较具体。如果有一个python loop。每loop一次叫r一次。如果loop几千回,就
要start and shutdown r几千回。这样是不是很费时间?如何解决?

【在 w********m 的大作中提到】
: 前一段时间听Wickham Hadley大侠的观点是,统计编程的未来在web,应该跟web
: development一样进行分层架构。
: 数据层Python操作和变形数据。
: 逻辑层R做统计模型。
: 表现层JavaScript实现数据在web的互动和可视化。
: 如果他的想法真能在RStudio实现,统计的境界可能就不一样了。
:
: estim

s*********e
发帖数: 1051
50
check pyper for 1.
nonsense for 2.

【在 q**j 的大作中提到】
: 有两个问题。
: 第一个就是有没有让r和python接口的程序推荐?
: 第二个比较具体。如果有一个python loop。每loop一次叫r一次。如果loop几千回,就
: 要start and shutdown r几千回。这样是不是很费时间?如何解决?

相关主题
后Hadoop时代的大数据架构哪里有便宜的hadoop计算平台
Amazon诚招有大数据,机器学习相关经验的SDE2,SDE3大牛们,请教大数据系统如何架构
想搞一些便宜的二手机 组个hadoop clusterFP的好处是不是就是Concurrency?
进入Statistics版参与讨论
o****o
发帖数: 8077
51
thanks, this is good point.

use

【在 c*******o 的大作中提到】
: but think about a scenario where you want to open a software as service
: company that does data analysis for clients... It is not a good idea to use
: SAS as your backend computing engine.
: When you are small, SAS will charge you license which is not too bad...
: when you grow bigger, SAS will change the licensing price and even ban you
: from doing so....
:
: can
: experience
: just

s*********e
发帖数: 1051
52
发现和你想法很一致呀

【在 w********m 的大作中提到】
: 前一段时间听Wickham Hadley大侠的观点是,统计编程的未来在web,应该跟web
: development一样进行分层架构。
: 数据层Python操作和变形数据。
: 逻辑层R做统计模型。
: 表现层JavaScript实现数据在web的互动和可视化。
: 如果他的想法真能在RStudio实现,统计的境界可能就不一样了。
:
: estim

o****o
发帖数: 8077
53
I think I can handle operation cross rows in SAS without much difficulties
so far.
Basically I treat it as a big table, no matter it resides in memory or on
table, and access by pointer or index.
some new tools in SAS makes this less a problem nowadays comparing to v8 era.
Can you give me a specific example, maybe I didn't encounter such.

have

【在 D******n 的大作中提到】
: too many,
: Basically whenever u have to do sth across records and/or column-wise
: processing.
: Not neccesarrily IT, think about trade lines, or claims. One person can have
: mutliple
: trade lines or claims.
:
: can
: experience
: just

q**j
发帖数: 10612
54
多谢。pyper只叫一次r,然后每次都是用这个session?我以前用sas call matlab。有
这个问题,openning matlab is quite slow.

【在 s*********e 的大作中提到】
: check pyper for 1.
: nonsense for 2.

s*********e
发帖数: 1051
55
yes
or you might use rpy2 to use R function directly within python instead of
calling R function as in pyper.
since pyper uses pipe to exchange data between r and python, the speed is
slower.
http://statcompute.wordpress.com/2012/12/12/another-comments-ab
http://statcompute.wordpress.com/2012/12/10/a-brief-comparison-

【在 q**j 的大作中提到】
: 多谢。pyper只叫一次r,然后每次都是用这个session?我以前用sas call matlab。有
: 这个问题,openning matlab is quite slow.

q**j
发帖数: 10612
56
多谢。我这两天就会在工作上用到。到时候再请教。

【在 s*********e 的大作中提到】
: yes
: or you might use rpy2 to use R function directly within python instead of
: calling R function as in pyper.
: since pyper uses pipe to exchange data between r and python, the speed is
: slower.
: http://statcompute.wordpress.com/2012/12/12/another-comments-ab
: http://statcompute.wordpress.com/2012/12/10/a-brief-comparison-

l*********s
发帖数: 5409
57
vote for excel. Easy to use, good graphics, installed everywhere. It covers
at least 75% of user cases.
c******s
发帖数: 18
58
太强大了

covers

【在 l*********s 的大作中提到】
: vote for excel. Easy to use, good graphics, installed everywhere. It covers
: at least 75% of user cases.

c******s
发帖数: 18
59
O 用javascript。太好了

【在 w********m 的大作中提到】
: 前一段时间听Wickham Hadley大侠的观点是,统计编程的未来在web,应该跟web
: development一样进行分层架构。
: 数据层Python操作和变形数据。
: 逻辑层R做统计模型。
: 表现层JavaScript实现数据在web的互动和可视化。
: 如果他的想法真能在RStudio实现,统计的境界可能就不一样了。
:
: estim

t******g
发帖数: 372
60
常用的分析这个不难实现啊, 至少拿cgi+r折腾很常见
觉得这个和rstudio这种ide的目的不相符, 倒是更接近他们搞的shany这种

【在 w********m 的大作中提到】
: 前一段时间听Wickham Hadley大侠的观点是,统计编程的未来在web,应该跟web
: development一样进行分层架构。
: 数据层Python操作和变形数据。
: 逻辑层R做统计模型。
: 表现层JavaScript实现数据在web的互动和可视化。
: 如果他的想法真能在RStudio实现,统计的境界可能就不一样了。
:
: estim

相关主题
玩具语言其实很容易实现的Java Dev&Big Data Cloud Experience- Bellevue, WA
如果不用很高级的feature,C++/Scala是否值得一战?biostatistician/SAS programmer position in Chicago (contractor)
macro is evil招人 (big data 相关)
进入Statistics版参与讨论
n*****3
发帖数: 1584
61
can 数据层 use JavaScript too?
Nobody wants to learn three language to start some analysis.

【在 t******g 的大作中提到】
: 常用的分析这个不难实现啊, 至少拿cgi+r折腾很常见
: 觉得这个和rstudio这种ide的目的不相符, 倒是更接近他们搞的shany这种

D******n
发帖数: 2836
62
id x1 x2 x3 ....
1 2 3 4 ,...
1 3 4 5
1 2 3 4
2 2 2 2
2 2 2 2
3 1 2 4
...
then for each id,u do sth on the "x1 x2 x3, ..." matrix
number of records for each id is variable..., sometimes u even need to
transpose the matrix
does proc fcmp take a matrix as input now?

era.

【在 o****o 的大作中提到】
: I think I can handle operation cross rows in SAS without much difficulties
: so far.
: Basically I treat it as a big table, no matter it resides in memory or on
: table, and access by pointer or index.
: some new tools in SAS makes this less a problem nowadays comparing to v8 era.
: Can you give me a specific example, maybe I didn't encounter such.
:
: have

w********m
发帖数: 1137
63
我同意你。web做开发都是两种语言,前台比如JS,后台比如Java或C#。学统计的如果
做开发用三种语言太过分了。事实上也没有这样的人才。
这几年Python本身也在走下坡路。JavaScrip的V8虚拟机理论上跟python效率差不多,
做数据处理潜力大。有趣的是,R和Javascript语法很相似。从R过度到JS没有什么大的
curve。
Node.js方面,不知道现在有没有在开发比较强的data management的framework. 如果
有的话,窃以为以后的架构就是JS-R-JS。

【在 n*****3 的大作中提到】
: can 数据层 use JavaScript too?
: Nobody wants to learn three language to start some analysis.

x*******i
发帖数: 1791
64
我基本上是SAS和R混搭。把R放在SAS里用。觉得效果不错。基本上成为一个数据处理系
统。
p*****1
发帖数: 330
65
能不能把C++ 和R 联用?这样是否会提高效率?

【在 t****a 的大作中提到】
: R在运行效率上是有很多坑,不小心就掉进去了。关于R的并行计算以及大数据操作可以
: 参考
: http://cran.r-project.org/web/views/HighPerformanceComputing.ht
: R是免费的,SAS是要付钱的。R是一种语言,SAS就是个tool。总得有几个亮点,否则谁
: 用阿?
: ---------------------------
: 某种程度上说,R是给程序员用的,SAS是给统计师用的,客户不一样。
: R有众多的第三方包,有最新的东西,这点SAS完全比不上,SAS就是个古董。
: R和linux其他工具整合的很好。如果觉得它不够快,那么推荐配合其他工具一起使用。
: 1. 小数据直接用R

o**m
发帖数: 828
66
rcpp

【在 p*****1 的大作中提到】
: 能不能把C++ 和R 联用?这样是否会提高效率?
n*****3
发帖数: 1584
67
不好用; R is written in c.

【在 o**m 的大作中提到】
: rcpp
s******8
发帖数: 102
68
我们单位一牛人,R用的倍流,建议我们大老板用R跑我们的Model,说应该比SAS更快。
因此大老板鼓励 SAS Programmers学习一下R。我这刚准备学R.
B******5
发帖数: 4676
69
咋不好用了?觉得很方便

【在 n*****3 的大作中提到】
: 不好用; R is written in c.
n*****3
发帖数: 1584
70
for very small chunk computational extensive code, it is OK.
But how to debug it? especially no so small project?
even In pure c++/STL, is was hard to debug STL container. except under VC
studio

【在 B******5 的大作中提到】
: 咋不好用了?觉得很方便
相关主题
招人 (big data 相关)Healthcare Data Analyst positionn in Boston MA
The next big thing in statistics computing area?讨论,(Big)Data Engineer到底是个什么职位
刚知道我邻居的工资,很郁闷go很牛啊。这个10ms 非常快了。
进入Statistics版参与讨论
t****a
发帖数: 1212
71
如楼上所说,你可以用Rcpp去为专门某个任务去写一个应用来解决特定的问题。

【在 p*****1 的大作中提到】
: 能不能把C++ 和R 联用?这样是否会提高效率?
t****a
发帖数: 1212
72
V8的速度比python快10-50倍。
不太懂javascript,不过觉得这语言看着就不适合做数据分析,缺的太多了:REPL,
vector运算,各种package,调试环境。
Ross Ihaka曾预言下一个R会build在lisp上,很难说他说的是不是对的,但我倾向于相
信下一个统计计算平台会采用functional programming language作为基础,采用交互
式的dynamic型语言,并提供交互的REPL。(这就是LISP阿!)
现在是数据分析领域黎明前的黑暗,大数据,并行计算,客户端从单机变成浏览器,交
互式的data visualization,分析code和production code之间的gap...要解决的问题
有无数。open source领域缺乏统一的系统,大家不得不学习各种
知识来搭建自己的平台。
这是个变迁的时代,是挑战,也是每个人的机遇。
commercial的东西...绝对不想碰,没有改造的前途。
我们拭目以待吧!

【在 w********m 的大作中提到】
: 我同意你。web做开发都是两种语言,前台比如JS,后台比如Java或C#。学统计的如果
: 做开发用三种语言太过分了。事实上也没有这样的人才。
: 这几年Python本身也在走下坡路。JavaScrip的V8虚拟机理论上跟python效率差不多,
: 做数据处理潜力大。有趣的是,R和Javascript语法很相似。从R过度到JS没有什么大的
: curve。
: Node.js方面,不知道现在有没有在开发比较强的data management的framework. 如果
: 有的话,窃以为以后的架构就是JS-R-JS。

B******5
发帖数: 4676
73
gdb可以debug的,STL debug确实恶心点。这不是rcpp的问题,是C++的问题。因噎废食了

【在 n*****3 的大作中提到】
: for very small chunk computational extensive code, it is OK.
: But how to debug it? especially no so small project?
: even In pure c++/STL, is was hard to debug STL container. except under VC
: studio

q**j
发帖数: 10612
74
thanks a lot! would you talk a bit about rpy and rpy2? what are the
differences?

【在 s*********e 的大作中提到】
: yes
: or you might use rpy2 to use R function directly within python instead of
: calling R function as in pyper.
: since pyper uses pipe to exchange data between r and python, the speed is
: slower.
: http://statcompute.wordpress.com/2012/12/12/another-comments-ab
: http://statcompute.wordpress.com/2012/12/10/a-brief-comparison-

q**j
发帖数: 10612
75
我看了你的文章。像
r('r_mean <- colMeans(r_data)')
这样用一行还是可以。但是如果我的R里面有很多行,看起来会非常别扭。而且如果
colMeans是一个我自己的R 函数怎么办?
我以前用Matlab也有和R接口的办法,后来还是放弃了。选择output .csv,r input,
then
output another .csv as result。这样的途径。不知道这样会不会影响速度。如果数
据已经大概被Python处理好了,应该问题不太大吧。

【在 s*********e 的大作中提到】
: yes
: or you might use rpy2 to use R function directly within python instead of
: calling R function as in pyper.
: since pyper uses pipe to exchange data between r and python, the speed is
: slower.
: http://statcompute.wordpress.com/2012/12/12/another-comments-ab
: http://statcompute.wordpress.com/2012/12/10/a-brief-comparison-

q**j
发帖数: 10612
76
怎么混搭?用 x command 叫 r?

【在 x*******i 的大作中提到】
: 我基本上是SAS和R混搭。把R放在SAS里用。觉得效果不错。基本上成为一个数据处理系
: 统。

n*****3
发帖数: 1584
77
But Rccp extensivly use STL and template, both are bad when debugging.
when use C with R, no such issue.
As I said, some small trunk of computation extensive codes, rcpp is just
fine.
just my 2 cents.

食了

【在 B******5 的大作中提到】
: gdb可以debug的,STL debug确实恶心点。这不是rcpp的问题,是C++的问题。因噎废食了
s*********e
发帖数: 1051
78
to be honest, i don't understand your question. do you mind elaborating?

【在 q**j 的大作中提到】
: 我看了你的文章。像
: r('r_mean <- colMeans(r_data)')
: 这样用一行还是可以。但是如果我的R里面有很多行,看起来会非常别扭。而且如果
: colMeans是一个我自己的R 函数怎么办?
: 我以前用Matlab也有和R接口的办法,后来还是放弃了。选择output .csv,r input,
: then
: output another .csv as result。这样的途径。不知道这样会不会影响速度。如果数
: 据已经大概被Python处理好了,应该问题不太大吧。

B******5
发帖数: 4676
79
yeah, maybe you are right. Not sure how to define "small" here, perhaps
because I had no very big data experience.

【在 n*****3 的大作中提到】
: But Rccp extensivly use STL and template, both are bad when debugging.
: when use C with R, no such issue.
: As I said, some small trunk of computation extensive codes, rcpp is just
: fine.
: just my 2 cents.
:
: 食了

q**j
发帖数: 10612
80
其实也没什么。就是看了你的例子,感觉好好的R写成这样看着很费劲。怎么看怎么不爽
。这样用一两句还可以忍受,如果大段的code这样写就非常不爽。我想还是python有的
功能用python自己的,实在没有了才叫R吧。对了你的blog上面有有关scipy and numpy
的讨论么?

【在 s*********e 的大作中提到】
: to be honest, i don't understand your question. do you mind elaborating?
相关主题
会Python就可以当码工了?Amazon诚招有大数据,机器学习相关经验的SDE2,SDE3
无比纠结的facebook offer---长贴想搞一些便宜的二手机 组个hadoop cluster
后Hadoop时代的大数据架构哪里有便宜的hadoop计算平台
进入Statistics版参与讨论
s*********e
发帖数: 1051
81
well, the stupid is as the stupid does.

不爽
numpy

【在 q**j 的大作中提到】
: 其实也没什么。就是看了你的例子,感觉好好的R写成这样看着很费劲。怎么看怎么不爽
: 。这样用一两句还可以忍受,如果大段的code这样写就非常不爽。我想还是python有的
: 功能用python自己的,实在没有了才叫R吧。对了你的blog上面有有关scipy and numpy
: 的讨论么?

o****o
发帖数: 8077
82
still depends.
if you want to transpose x: within each ID, that would still be difficult in
R, isn't it?

【在 D******n 的大作中提到】
: id x1 x2 x3 ....
: 1 2 3 4 ,...
: 1 3 4 5
: 1 2 3 4
: 2 2 2 2
: 2 2 2 2
: 3 1 2 4
: ...
: then for each id,u do sth on the "x1 x2 x3, ..." matrix
: number of records for each id is variable..., sometimes u even need to

t****a
发帖数: 1212
83
try d?ply in plyr package by hadley wichkam.

in

【在 o****o 的大作中提到】
: still depends.
: if you want to transpose x: within each ID, that would still be difficult in
: R, isn't it?

D******n
发帖数: 2836
84
well in R, i will transform this data structure into a list
newdata <- split(old_data,old_data$id)

in

【在 o****o 的大作中提到】
: still depends.
: if you want to transpose x: within each ID, that would still be difficult in
: R, isn't it?

o****o
发帖数: 8077
85
given another specific example that SAS has difficulty to do but easy for R
(using base R functions)

【在 D******n 的大作中提到】
: well in R, i will transform this data structure into a list
: newdata <- split(old_data,old_data$id)
:
: in

o****o
发帖数: 8077
86
here is a SAS questions someone asked:
Given a symmetric matrix A (NxN), the value of each cell is some integer
number, for each row (with row ID=1 to N), he wants to count which other
rows in A contains a number equals to the row ID.
For example, for row=4, this guy wants to find out in row [-4,:], which ones
also contains a value=4 in their rows [, 1:N].
In SAS, typically you will transpose it to a vector, and output only those
rows=ID. Or you can sweep each row from diagonal term to the end and output
any column number that has a value falls into [1, N], then sort.
Given my R skill level, this is also the way I would do in R, but it
consumes a lot of resources, especially looping over rows, any more neat
technique ?
x<-matrix(rpois(10^2, 10), ncol=10)
xx<-floor(t(x)%*%x/100)
func<-function(vec) (1:length(vec))[vec<=length(vec)]
apply(xx, 1, func)

【在 D******n 的大作中提到】
: well in R, i will transform this data structure into a list
: newdata <- split(old_data,old_data$id)
:
: in

1 (共1页)
进入Statistics版参与讨论
相关主题
玩具语言其实很容易实现的Healthcare Data Analyst positionn in Boston MA
如果不用很高级的feature,C++/Scala是否值得一战?讨论,(Big)Data Engineer到底是个什么职位
macro is evilgo很牛啊。这个10ms 非常快了。
Java Dev&Big Data Cloud Experience- Bellevue, WA会Python就可以当码工了?
biostatistician/SAS programmer position in Chicago (contractor)无比纠结的facebook offer---长贴
招人 (big data 相关)后Hadoop时代的大数据架构
The next big thing in statistics computing area?Amazon诚招有大数据,机器学习相关经验的SDE2,SDE3
刚知道我邻居的工资,很郁闷想搞一些便宜的二手机 组个hadoop cluster
相关话题的讨论汇总
话题: sas话题: python话题: id1话题: 数据话题: data