Я работаю с почасовым набором данных за 1 год и пытаюсь вычислить сумму значений дня недели (понедельник - пятница) и выходного дня (суббота, воскресенье) и добавить новую строку в нижней части набора данных.мой фрейм данных выглядит так:
![enter image description here](https://i.stack.imgur.com/8X6ch.png)
Я создал сумму за всю неделю с помощью следующей команды:
## calculate column sum
df[366,(3:27)] <- colSums(df[,3:27], na.rm = T)
Затем рассчитал количество пропавших без вестизначения в каждом столбце с этим:
## calculate number of missing values in a column
NA.find <- function(x) length(which(is.na(x))) #function for finding missing values
myNumCols <- which(unlist(lapply(df, is.numeric)))
df[(nrow(df) + 1), myNumCols] <- sapply(df[, myNumCols],NA.find )
Теперь я пытаюсь вычислить сумму дня недели и выходных дней между (столбец v1: итог), а также количество пропущенных значений и добавить нижние строки, как я сделал длявсе дни.
Я знаю, что мне нужно как-то определить свою дату, чтобы R мог прочитать ее, а затем использовать некоторые способы подстановки дня недели и выходных, я выяснил, как подгруппировать человека следующим образом:
e = colsplit(df1$date,split=" ",names=c("day1","day2","month"))
df2 = cbind(df1[,c("type","date")],day=e[1],cdate=e[2],month=e[3],df1[,3:ncol(df1)])
df3 = subset(df2, day1 == "Mon")
Но я не уверен, как можно подмножество сказать: пн: пятница и снова суббота: воскресенье?
То, чего я пытаюсь добиться, - это создать 4 новые строки из (368: 371) и добавить общее количество дней недели, количество пропущенных значений в течение дня, общее количество выходных, количество пропущенных значений в выходные дни.
Большое спасибо, Аян