Ошибка в функции lapply для data.frame - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть 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>

В чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...