Странное поведение неиспользуемого аргумента в функции R

Я реализовал функцию "identif_case", то есть:

##  Function that identify the gaps of NAs according to their length
identify_case = function(df, variable, seuil) {

df$value   = ifelse(is.na(df[,variable])==TRUE,1,0)
df$temp    = rep.int(rle(df$value)$lengths, rle(df$value)$lengths)
df$gap     = ifelse(df$value == 1, df$temp, 0)
df$temp    = NULL
df$case.nb = ifelse((df$gap > 0 & df$gap <= seuil),"cas1",ifelse((df$gap > 
seuil),"cas2","OK"))
return(df)

}

Когда я вызываю функцию, используя код ниже:

temp.df      = identify_case(df = temporary_df,variable = "energy_NA",seuil 
= 3)

Я получаю ошибку:

Error in identify_case(df = temporary_df, variable = "energy_NA", seuil = 3): 
unused argument (seuil = 3)

Что странно, когда я добавляю строку

seuil = seuil 

в начале функции 'identif_case'.Я не получаю никакой ошибки, и код выполняется отлично.

т.е.

## Function that identify the gaps of NAs according to their length
identify_case = function(df, variable, seuil) {

seuil = seuil


df$value   = ifelse(is.na(df[,variable])==TRUE,1,0)
df$temp    = rep.int(rle(df$value)$lengths, rle(df$value)$lengths)
df$gap     = ifelse(df$value == 1, df$temp, 0)
df$temp    = NULL
df$case.nb = ifelse((df$gap > 0 & df$gap <= seuil),"cas1",ifelse((df$gap > 
seuil),"cas2","OK"))
return(df)

}

Кто-нибудь что здесь происходит?

0 ответов

Другие вопросы по тегам