Изменение формы фрейма данных и его заполнение - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть фрейм данных с наблюдением 201189 года и 5 переменными: comm_id, цена, валюта, create_date и uom.Существует 288 уникальных comm_id и 2549 уникальных create_date. Com_id и дата создания повторяются, которые добавляются здесь вручную.

Я пробовал dcast () на create_date и comm_ids, чтобы получить 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_ids будут повторяться для разных дат, как мне поступить?

Заранее спасибо !!

...