我有2个文件。一个是time_file
,具有3000行,另一个是userid
文件,具有2000行。我想将两者合并,以使userid
文件中的每一行(ID)与time_file
每行中的完整数据配对。
第1-3000行将显示每个日期的第一个userid
。
第3001-6000行将显示带有每个日期的第二个userid
,依此类推。
谢谢!
时间文件
mo day year date
11 1 2015 11/1/2015
11 2 2015 11/2/2015
11 3 2015 11/3/2015
11 4 2015 11/4/2015
11 5 2015 11/5/2015
.
.
用户ID文件
userid
154
155
157
158
159
160
.
.
理想的格式(我想要什么)
mo day year date userid
11 1 2015 11/1/2015 154
11 2 2015 11/2/2015 154
11 3 2015 11/3/2015 154
11 4 2015 11/4/2015 154
11 5 2015 11/5/2015 154
.
.
3 28 2017 3/28/2017 154
3 29 2017 3/29/2017 154
3 30 2017 3/30/2017 154
3 31 2017 3/31/2017 154
11 1 2015 11/1/2015 155
11 2 2015 11/2/2015 155
11 3 2015 11/3/2015 155
11 4 2015 11/4/2015 155
11 5 2015 11/5/2015 155
11 6 2015 11/6/2015 155
答案 0 :(得分:1)
假设您已将时间数据存储在数据帧中,并将用户数据存储在矢量中,则我可以想到R中最简单的解决方案:
final_df <- cbind(date_df, "userid" = rep(user, each = 3000))
这将重复每个user_id 3000次,然后将user_id列绑定到日期数据框。
答案 1 :(得分:0)
在SPSS中,您可以为此使用笛卡尔积函数:
首先,这将重新创建您的示例数据:
data list free/mo day year (3f4) date (a12).
begin data.
11 1 2015 11/1/2015
11 2 2015 11/2/2015
11 3 2015 11/3/2015
11 4 2015 11/4/2015
11 5 2015 11/5/2015
end data.
DATASET NAME time_file.
data list free/ userid.
begin data.
154,155,157,158,159,160
end data.
DATASET NAME userid.
现在,它将按照您的要求合并两个表:
STATS CARTPROD VAR1=userid INPUT2=time_file VAR2=mo day year date
/SAVE OUTFILE="path\your combined data.sav".