重塑数据框,然后填充它

时间:2019-04-02 04:55:32

标签: loops filter rstudio subset reshape

我有一个具有201189观测值和5个变量的数据框:comm_id,price,currency,create_date和uom。共有288个唯一的comm_id和2549个唯一的create_date。重复comm_id和创建日期,在此处手动添加。

我已经尝试在create_date和comm_ids上使用dcast()来获得df。

#Example:

# create data frame
comm_id<-rep(seq(135,140, by = 1),2)
date<-seq(as.Date("2017-08-01"),as.Date("2017-08-12"),by = "day")
price<-rep(seq(405,410,by = 1),2)

mydf=data.frame(comm_id,price,date)
mydf

comm_id price   date
135 405 01-08-2017
135 405 02-08-2017
135 405 03-08-2017
136 406 01-08-2017
136 406 02-08-2017
136 406 03-08-2017
136 406 04-08-2017
137 407 01-08-2017
137 407 02-08-2017
137 407 03-08-2017
137 407 04-08-2017
138 408 01-08-2017
138 408 02-08-2017
138 408 03-08-2017
139 409 01-08-2017
139 409 02-08-2017
139 409 03-08-2017
139 409 04-08-2017
140 410 05-08-2017
140 410 06-08-2017
135 405 07-08-2017
136 406 08-08-2017
137 407 09-08-2017
138 408 10-08-2017
139 409 11-08-2017
140 410 12-08-2017


mynewdf=dcast(mydf,date~comm_id)

201189总记录

My expected result is 
[![date         135 136 137 138 139 140
01-08-2017  405   406   407 408 NA  NA
02-08-2017  405 406 407 408 NA  NA
03-08-2017  405 406 407 408 NA  NA
04-08-2017  NA  406 407 NA  NA  NA
05-08-2017  NA  NA  NA  NA  409 NA
06-08-2017  NA  NA  NA  NA  NA  410
07-08-2017  405 NA  NA  NA  NA  NA
08-08-2017  NA  406 NA  NA  NA  NA
09-08-2017  NA  NA  407 NA  NA  NA
10-08-2017  NA  NA  NA  408 NA  NA
11-08-2017  NA  NA  NA  NA  409 NA
12-08-2017  NA  NA  NA  NA  NA  410][1]][1]

My actual result is 
[![date 135 136 137 138 139 140
01-08-2017  17379   NA  NA  NA  NA  NA
02-08-2017  NA  17380   NA  NA  NA  NA
03-08-2017  NA  NA  17381   NA  NA  NA
04-08-2017  NA  NA  NA  17382   NA  NA
05-08-2017  NA  NA  NA  NA  17383   NA
06-08-2017  NA  NA  NA  NA  NA  17384
07-08-2017  17385   NA  NA  NA  NA  NA
08-08-2017  NA  17386   NA  NA  NA  NA
09-08-2017  NA  NA  17387   NA  NA  NA
10-08-2017  NA  NA  NA  17388   NA  NA
11-08-2017  NA  NA  NA  NA  17389   NA
12-08-2017  NA  NA  NA  NA  NA  17390][1]][1]


其他查询,如果我的comm_id在不同的日期重复,那么我应该如何进行?

提前谢谢!

0 个答案:

没有答案