library(matrixStats)
library(tidyverse)
library(glue)
library(dplyr)
db_class <- economics_long
Condition <- db_class[,2]
firstParameter <- (db_class[1,3])
Limits <- firstParameter*1.18
(db_class2 <-db_class %>%
mutate(rgroup = row_number() <= 509) %>%
group_by(rgroup) %>%
mutate( rn=row_number(),
rn2 = ifelse(rgroup,(rn -1) %% 509 + 1,
(rn-1) %% 491 + 10)
) %>% ungroup)
firstControll <- function(database){
upper <- Limits
column <- ncol(database)+1
for (i in 1:10) {
if (database[i, 3] < upper) {
Cont <- "OK"
db_class[i, column] <<- Cont
} else {
Cont <- "ERROR"
db_class[i, column] <<- Cont
}
}
}
secondControll <- function(database){
column <- ncol(database)+1
average <- mean(db_class[11:500,3])
Limits <- 0.4*firstParameter + (1-0.4)*average*1.18
upper <<- Limits
for (i in 11:500) {
if (database[i, 3] < upper) {
Cont <- "OK"
db_class[i, column] <<- Cont
} else {
Cont <- "ERROR"
db_class[i, column] <<- Cont
}
}
}
(db_class2 <-db_class %>%
mutate(rn=row_number(),
result = ifelse(rn<=10 ,
firstControll(db_class2),
secondControll(db_class2))))
head(db_class2)
tail(db_class2)
Ok, I make a replex of my code (sorry I'm a beginner and I didn't know how to make it). So the functions work, but I can't get them to start for the various ranges