Как повторить последовательность дней 1:7 на основе непрерывных дней, чтобы они соответствовали неделям

Я хочу добавлять столбец дней каждую неделю в свой набор данных, который уже содержит непрерывные дни и непрерывные недели для большого набора данных.

Я уже пытался использовать функцию пола и функцию повторения.

Изменить Я пытаюсь автоматизировать окончательный вывод mydata$day_of_week

time_in_hrs<-c(0,2,12,24,25,29,30,32,38,43,57,82,93,105,199,205,245,263)
mydata<-as.data.frame(time_in_hrs)
mydata$time_in_days<-floor(mydata$time_in_hrs/24)+1
mydata$time_in_weeks<-floor(mydata$time_in_days/8)+1
mydata$day_of_week<-c(1,1,1,2,2,2,2,2,2,2,3,4,4,5,2,2,4,4)

r rep
person Sparky    schedule 27.05.2019    source источник


Ответы (2)


Предполагая, что вы пытаетесь автоматизировать столбец mydata$day_of_week, который вы сейчас делаете вручную, вы можете сделать это следующим образом:

mydata$day_of_week_auto <- mydata$time_in_days - (mydata$time_in_weeks - 1) * 7
person Sven    schedule 27.05.2019

с помощью команды rep вы можете попробовать следующее:

mydata$days <- rep(c("Monday", "Tuesday", "Wednesday", Thursday", 
"Friday", "Saturday", "Sunday"), times = 5)

mydata$days <- rep(1:7, times = 5)

Надеюсь, это поможет вам.

Лучший, Вероника

person Veronika    schedule 27.05.2019
comment
Привет @veronika, к сожалению, это не работает, так как не распознает изменение в столбцах времени/дня. - person Sparky; 27.05.2019