У меня есть набор данных input
, и я хочу преобразовать его в набор данных output
. В основном я пытаюсь манипулировать набором данных, чтобы я мог разделить количество дней между двумя датами в разные месяцы. Хотите узнать, можно ли это сделать в R?Получить количество дней в разных месяцах с использованием 2 дат
R код для создания наборов данных ниже для удобства.
library('data.table')
input=data.table(SerialNum=c(1,2),StartDate=c('28/01/2015','28/01/2015'),EndDate=c('03/02/2015','03/03/2015'))
# SerialNum StartDate EndDate
# 1: 1 28/01/2015 03/02/2015
# 2: 2 28/01/2015 03/03/2015
output=data.table(SerialNum=c(1,1,2,2,2),
StartDate=c('28/01/2015','28/01/2015','28/01/2015','28/01/2015','28/01/2015'),
EndDate=c('03/02/2015','03/02/2015','03/03/2015','03/03/2015','03/03/2015'),
MMMYY=c('Jan15','Feb15','Jan15','Feb15','Mar15'),
Days=c(4,3,4,28,3))
# SerialNum StartDate EndDate MMMYY Days
# 1: 1 28/01/2015 03/02/2015 Jan15 4
# 2: 1 28/01/2015 03/02/2015 Feb15 3
# 3: 2 28/01/2015 03/03/2015 Jan15 4
# 4: 2 28/01/2015 03/03/2015 Feb15 28
# 5: 2 28/01/2015 03/03/2015 Mar15 3
Я не понимаю эту часть: «Разделить количество дней между двумя датами в разные месяцы». Разве вы не хотите, чтобы количество дней между двумя датами? Что означает «в разные месяцы»? – Stibu
Извинения за неясность. Я на самом деле пытаюсь рассчитать количество дней пребывания пациента в больнице, но с разбивкой по месяцам. Например, если пациент остался с 28 января 2002 года до 03Feb2015, он/она оставался бы 4 дня в январе и 3 дня в феврале. Чтобы сделать сводную таблицу, чтобы узнать, сколько дней для пациентов используется в январе и феврале соответственно, я бы необходимо манипулировать набором данных, чтобы дать мне 2 наблюдения. 1 за январь и 1 за февраль – user6008722