Redian新闻
>
在R里merge两个dataframe太慢了
avatar
在R里merge两个dataframe太慢了# DataSciences - 数据科学
c*n
1
和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
h*k
2
但是如果你们尊重我们的话
也请尊重我们的神
因为我们都是神的子民
你如果去教堂高声喧哗的话, 我想也会有人善意的提醒你
我相信版上的很多福音朋友, 对主耶稣已经不少的了解了
虽然还会就着人天然里的理解来看待他, 但是既然你们听到着复印, 神已经拣选了你们
是麦子还是稗子, 就要看你个人了
我会为你们切切的祷告
感谢主
阿门
avatar
g*r
3
R的merge效率太低了。根据一个列合并两个dataframe,长的有1m行,短的1k行:
long =data.frame(a=seq(1,1000000), b=rnorm(10) )
short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
system.time(merge(x=long, y=short, all.x=T))
user system elapsed
10.286 0.370 10.624
4m行就要将近1分钟。8m行超过2分钟。16m要4分钟。
我的真实数据比例子里的复杂些,且有100m行或更高,卡了半天没动静,只好强行终止
进程。对这个效率有点失望。早听说merge很慢,这次领教了。
如果不依靠外部程序(shell,python之类的script),大家是怎么多快好省做合并的
呢?菜鸟一个,轻拍。
avatar
Y*i
4
赞!!!我试过在雪地里只穿衬衫,结果不到1分钟就冻死鸟。。。
这对新人很强!!!
avatar
s*g
5
请问,你是哪一派的?

【在 h*****k 的大作中提到】
: 但是如果你们尊重我们的话
: 也请尊重我们的神
: 因为我们都是神的子民
: 你如果去教堂高声喧哗的话, 我想也会有人善意的提醒你
: 我相信版上的很多福音朋友, 对主耶稣已经不少的了解了
: 虽然还会就着人天然里的理解来看待他, 但是既然你们听到着复印, 神已经拣选了你们
: 是麦子还是稗子, 就要看你个人了
: 我会为你们切切的祷告
: 感谢主
: 阿门

avatar
x*m
6
这个没办法,R就是慢。R在出来table的时候,后台会有很多enviromental variables
,所以会很慢。况且你是100m row的data,也不小了,好奇你是怎么读到R里面的?
既然都会R了,就试试python吧,很简单的,几行就能搞定。
avatar
c*n
7
我穿着雪衣雪裤也冻的不行

【在 Y**i 的大作中提到】
: 赞!!!我试过在雪地里只穿衬衫,结果不到1分钟就冻死鸟。。。
: 这对新人很强!!!

avatar
h*k
8
什么叫派?
我信主, 是基督徒

【在 s******g 的大作中提到】
: 请问,你是哪一派的?
avatar
z*i
9
http://stackoverflow.com/questions/11146967/efficient-alternati

【在 g*r 的大作中提到】
: R的merge效率太低了。根据一个列合并两个dataframe,长的有1m行,短的1k行:
: long =data.frame(a=seq(1,1000000), b=rnorm(10) )
: short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
: system.time(merge(x=long, y=short, all.x=T))
: user system elapsed
: 10.286 0.370 10.624
: 4m行就要将近1分钟。8m行超过2分钟。16m要4分钟。
: 我的真实数据比例子里的复杂些,且有100m行或更高,卡了半天没动静,只好强行终止
: 进程。对这个效率有点失望。早听说merge很慢,这次领教了。
: 如果不依靠外部程序(shell,python之类的script),大家是怎么多快好省做合并的

avatar
P*l
10
wow,超美

【在 c*******n 的大作中提到】
: 和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
s*g
11
伊斯兰教也信主,算不算基督徒阿?

【在 h*****k 的大作中提到】
: 什么叫派?
: 我信主, 是基督徒

avatar
i*t
12
不是都该用data.table了吗。。。
avatar
M*g
13
mm超漂亮,赞
风景真棒。
avatar
c*s
14
但是如果你们尊重我们的话
也请尊重我们的神
avatar
S*y
15
Python is the way to go
You can load your smaller file into a dictionary first...
avatar
c*n
16
谢谢版主

【在 P*******l 的大作中提到】
: wow,超美
avatar
h*k
17
呵呵, 没想到连中国文化也成了十字架的仇敌...
我们当然尊重中国的文化
但文化和信仰没有冲突
一个在魂, 一个在灵
主耶稣不是西方文化, 也不仅仅是以色列的神, 他更是外邦人的救主
avatar
g*r
18
长的数据100m行不是读入,而是在R里面生成的。
短的数据才是从外部文件导入的。
想把两者合并。

variables

【在 x******m 的大作中提到】
: 这个没办法,R就是慢。R在出来table的时候,后台会有很多enviromental variables
: ,所以会很慢。况且你是100m row的data,也不小了,好奇你是怎么读到R里面的?
: 既然都会R了,就试试python吧,很简单的,几行就能搞定。

avatar
c*n
19
谢谢,拍的时候大家都冷的不行。风景的话,我想如果爬到高一点的地方可能会更好。

【在 M*****g 的大作中提到】
: mm超漂亮,赞
: 风景真棒。

avatar
x*x
20
愿观音菩萨保佑你.

【在 h*****k 的大作中提到】
: 但是如果你们尊重我们的话
: 也请尊重我们的神
: 因为我们都是神的子民
: 你如果去教堂高声喧哗的话, 我想也会有人善意的提醒你
: 我相信版上的很多福音朋友, 对主耶稣已经不少的了解了
: 虽然还会就着人天然里的理解来看待他, 但是既然你们听到着复印, 神已经拣选了你们
: 是麦子还是稗子, 就要看你个人了
: 我会为你们切切的祷告
: 感谢主
: 阿门

avatar
B*O
21
用match比较快。
> long =data.frame(a=seq(1,1000000), b=rnorm(10) )
> short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
> system.time(merge(x=long, y=short, all.x=T))
user system elapsed
7.253 0.071 7.385
> system.time(long$cuser system elapsed
0.002 0.000 0.001
> system.time(long$c[match(short$a,long$a)]user system elapsed
0.119 0.000 0.119
avatar
R*e
22
很独特
很有价值
新娘新郎很漂亮很般配

【在 c*******n 的大作中提到】
: 和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
l*h
23
你这不是找封么?

【在 x***x 的大作中提到】
: 愿观音菩萨保佑你.
avatar
g*r
24
出于力求“简单统一”的考虑,不想调用其他程序。(比如换到windows下跑,就需要
先安装python了)
试了一下大家的另外两个建议。
data.table是个好东西,瞬间完成!match稍慢,但可以接受。
avatar
R*e
25
真是美丽冻人啊

【在 c*******n 的大作中提到】
: 谢谢,拍的时候大家都冷的不行。风景的话,我想如果爬到高一点的地方可能会更好。
avatar
x*x
26
为什么啊 你的回复不到10个字 你被封的几率也挺大的

【在 l**h 的大作中提到】
: 你这不是找封么?
avatar
s*e
27
try sqldf with index. there is no overhead for data table conversion.

【在 g*r 的大作中提到】
: 出于力求“简单统一”的考虑,不想调用其他程序。(比如换到windows下跑,就需要
: 先安装python了)
: 试了一下大家的另外两个建议。
: data.table是个好东西,瞬间完成!match稍慢,但可以接受。

avatar
S*n
28
怒赞啊!

【在 c*******n 的大作中提到】
: 和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
l*h
29
俺正在发帖请问站规有没有每日灌水量,上站数,看来还要加个发言字数

【在 x***x 的大作中提到】
: 为什么啊 你的回复不到10个字 你被封的几率也挺大的
avatar
r*n
30
这种简单查找型 merg 显然是用 awk 比较快了

【在 g*r 的大作中提到】
: R的merge效率太低了。根据一个列合并两个dataframe,长的有1m行,短的1k行:
: long =data.frame(a=seq(1,1000000), b=rnorm(10) )
: short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
: system.time(merge(x=long, y=short, all.x=T))
: user system elapsed
: 10.286 0.370 10.624
: 4m行就要将近1分钟。8m行超过2分钟。16m要4分钟。
: 我的真实数据比例子里的复杂些,且有100m行或更高,卡了半天没动静,只好强行终止
: 进程。对这个效率有点失望。早听说merge很慢,这次领教了。
: 如果不依靠外部程序(shell,python之类的script),大家是怎么多快好省做合并的

avatar
p*t
31
赞挺得住

【在 c*******n 的大作中提到】
: 谢谢,拍的时候大家都冷的不行。风景的话,我想如果爬到高一点的地方可能会更好。
avatar
o*a
32
进来学习
avatar
C*h
33
谁是alli?

【在 c*******n 的大作中提到】
: 和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
c*n
34
谢谢mm

【在 R******e 的大作中提到】
: 很独特
: 很有价值
: 新娘新郎很漂亮很般配

avatar
c*n
35
谢谢鼓励, :)

【在 S*******n 的大作中提到】
: 怒赞啊!
avatar
c*n
36
呵呵

【在 p**t 的大作中提到】
: 赞挺得住
avatar
c*n
37
alli是后期版大牛

【在 C********h 的大作中提到】
: 谁是alli?
avatar
G*o
38
啥是后期版?

alli是后期版大牛

【在 c*******n 的大作中提到】
: alli是后期版大牛
avatar
k*a
39
拍的好有情调

【在 c*******n 的大作中提到】
: 和alli一起拍的。 找不到她的原帖了,还是单独开一个吧。
avatar
c*n
40
谢谢 mm

【在 k***a 的大作中提到】
: 拍的好有情调
avatar
k*u
41
zan
不过冷不。。
avatar
c*n
42
冷是一定的啊
avatar
c*n
43
photoprocessing

【在 G*********o 的大作中提到】
: 啥是后期版?
:
: alli是后期版大牛

avatar
P*l
44
漂亮~
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。