【发布时间】:2013-01-16 16:59:46
【问题描述】:
我有多个框架,为此假设 2。 每帧包含 2 列 - 一个索引列和一个值列
sz<-5;
frame_1<-data.frame(index=sort(sample(1:10,sz,replace=F)),value=rpois(sz,50));
frame_2<-data.frame(index=sort(sample(1:10,sz,replace=F)),value=rpois(sz,50));
frame_1:
index value
1 49
6 62
7 58
8 30
10 50
frame_2:
index value
4 60
5 64
6 48
7 46
9 57
目标是创建第三个框架,frame_3,其索引将是 frame_1 和 frame_2 中的并集,
frame_3<-data.frame(index = sort(union(frame_1$index,frame_2$index)));
其中将包含两个额外的列,value_1 和 value_2。
frame_3$value_1从frame_1$value填写,frame_3$value_2从frame_2$value填写;
这些应该像这样填写: frame_3:
index value_1 value_2
1 49 NA
4 49 60 # value_1 is filled through with previous value
5 49 64 # value_1 is filled through with previous value
6 62 48
7 58 46
8 30 46 # value_2 is filled through with previous value
9 30 57 # value_1 is filled through with previous value
10 50 57 # value_1 is filled through with previous value
我正在寻找一种有效的解决方案,因为我正在处理成千上万的记录
【问题讨论】:
-
(+1) 构图精美。一个小建议。使用
set.seed(.)以便粘贴代码产生相同的输出。在这种情况下,我使用了你的桌子。 -
@Arun 是的,下次;谢谢
标签: r dataframe vectorization