У меня есть data.frame "df" с несколькими символьными столбцами. Мне нужно установить пределы длины в зависимости от максимальной длины каждого столбца символов.
Я пытался сделать:
SetOraStrLength <- function(DfColumn){
MaxStrLength <- as.integer(0)
if (typeof(DfColumn) == "character")
{
MaxStrLength <- max(nchar(DfColumn, allowNA = FALSE))
if (MaxStrLength > 0 & MaxStrLength <= 25){
attr(DfColumn, "ora.encoding") <- "UTF-8"
attr(DfColumn, "ora.maxlength") <- 25
} else if (MaxStrLength > 25 & MaxStrLength <= 50) {
attr(DfColumn, "ora.encoding") <- "UTF-8"
attr(DfColumn, "ora.maxlength") <- 50
} else if (MaxStrLength > 50 & MaxStrLength <= 150) {
attr(DfColumn, "ora.encoding") <- "UTF-8"
attr(DfColumn, "ora.maxlength") <- 150
} else {
attr(DfColumn, "ora.encoding") <- "UTF-8"
attr(DfColumn, "ora.maxlength") <- 255
}
}
}
А потом:
lapply(df, SetOraStrLength)
Наконец-то у меня ошибка:
Ошибка в if (MaxStrLength> 0 & MaxStrLength <= 25) {: отсутствует
значение, в котором требуется TRUE / FALSE Вызывается из: FUN (X [[i]], ...) </p>
В чем проблема?