使用roxygen2在R中构建程序包时未创建的文档

时间:2018-05-03 18:01:39

标签: r package documentation roxygen2

以下代码显示了一个函数,它检查两个data.frames是否以所有可能的方式相等并告诉差异。现在,我正在尝试将此功能添加到包中,我正在使用roxygen2。

#' Funcao compararBases
#'
#' @description E uuma funcao que compara se duas tabelas sao identicas. Para isso, e primeiramente avaliado se as variaveis sao as mesmas, tanto em nome quanto em natureza. Numa segunda fase, e conferida se as observaçoes tambem estao iguais em ambas tabelas.
#' @param DadosFixos Tabela que ja se encontra no repositório ou tabela 1 a ser conferida.
#' @param DadosNovos Tabela "nova" a ser inserida no repositorio ou tabela 2 a ser conferida.

#'
#' @return NULL

library(stringr)

compararBases <- function(DadosFixos,DadosNovos){

 dados <- DadosFixos
 dados_col <- DadosNovos

  ## Comparar Colunas numero de variaveis##


  if(length(dados) > length(dados_col)){

    t <- FALSE

    dadosfixos <- dados[!dados %in% dados_col]
    colnames(dadosfixos) <- paste0("dadosfixos.",colnames(dadosfixos))

"Tabela nova criada;"
"As colunas da tabela DadosFixos/Tabela 1 não se encontram em DadosNovos/Tabela 2."


  } else if(length(dados) < length(dados_col)){

t <- FALSE

dadosnovos <- dados_col[!dados_col %in% dados]
colnames(dadosnovos) <- paste0("dadosnovos.",colnames(dadosnovos))

"Tabela nova criada;"
"As colunas da tabela DadosNovos/Tabela 2 não se encontram na tabela DadosFixos/Tabela 1."
  } else{
t <- TRUE
"As tabelas possuem os mesmos números de colunas."
 }

  ## Comparar se possuem mesmos nomes de variáveis ##


  if(t == TRUE){

if(identical(dados, dados_col) == FALSE){
  if(identical(colnames(dados),colnames(dados_col)) == FALSE){
    w <- FALSE

    nomescolunasbasefixa <- colnames(dados)
    nomescolunasbasenova <- colnames(dados_col)
    colunasfixas <- nomescolunasbasefixa[!nomescolunasbasefixa %in% nomescolunasbasenova]
    colunasfixas <- paste0("DadosFixos.",colunasfixas)
    colunasnovas <- nomescolunasbasenova[!nomescolunasbasenova %in% nomescolunasbasefixa]
    colunasnovas <- paste0("DadosNovos.",colunasnovas)

    colunasdiferentes <- c(colunasfixas,colunasnovas)

    paste0("Nome diferente em:", colunasdiferentes)

  }else{

    ### Comparar as estruturas das variáveis ###

    w <- FALSE

    d2 <- all.equal(dados, dados_col)

    structure <- d2[grep("Modes", d2)]

    if(length(structure) != 0){

      print("Erro de estrutura da variável em:")
      print(substring(substr(word(structure,2), 1, nchar(word(structure,2))-2),2))

    }

    ### Comparar o numero de linhas ###

    numLin <- all.equal(dados,dados_col)

    d3 <- numLin[grep("Lengths|lengths", numLin)]

    if(length(d3) != 0){

      if(length(dados[,1]) > length(dados_col[,1])){

        dados2 <- dados

        for(i in 1:length(dados)){
          dados2[,i] <- as.character(dados[,i])
        }

        dados_col2 <- dados_col

        for(i in 1:length(dados_col)){
          dados_col2[,i] <- as.character(dados_col[,i])
        }

        observations <- NULL

        for(i in 1:length(dados2)){
          obsDum <- rownames(dados2[!dados2[,i] %in% dados_col2[,i],])
          observations <- c(obsDum, observations)
        }

        print("Observações de DadosFixos/Tabela 1 que não estão na base adicionada:")
        print(unique(observations))

      }

      if(length(dados[,1]) < length(dados_col[,1])){

        dados2 <- dados

        for(i in 1:length(dados)){
          dados2[,i] <- as.character(dados[,i])
        }

        dados_col2 <- dados_col

        for(i in 1:length(dados_col)){
          dados_col2[,i] <- as.character(dados_col[,i])
        }

        observations <- NULL

        for(i in 1:length(dados2)){
          obsDum <- rownames(dados_col2[!dados_col2[,i] %in% dados2[,i],])
          observations <- c(obsDum, observations)
        }

        print("Observações de DadosNovos/Tabela 2 que não estão na base fixa:")
        print(unique(observations))

      }
    }

    ## analise das células específicas ##

    d4 <- numLin[grep("string|Mean relative", numLin)]

    if(length(d4) != 0){

      if(length(dados[,1]) == length(dados_col[,1])){

        dados2 <- dados

        for(i in 1:length(dados)){
          dados2[,i] <- as.character(dados[,i])
        }

        dados_col2 <- dados_col

        for(i in 1:length(dados_col)){
          dados_col2[,i] <- as.character(dados_col[,i])
        }

        celula <- NULL
        celDum <- NULL

        for(i in 1:length(dados2)){
          for(j in 1:length(dados2[,1])){
            if(!dados2[j,i] %in% dados_col2[j,i]){
              celDum <- c(j,colnames(dados2)[i])
              celula <- rbind(celula, celDum)
            }
          }
        }

        string1 <- "Os pontos específicos dos dados que estão em discordância são:"

        celula <- data.frame(celula, row.names = NULL)
        colnames(celula) <- c("Observação", "Variável")

        print(string1)
        print(celula)
          }
        }
      }
    }else{
      "As tabelas são identicas"
    }
  }
return(NULL)
}

但是,我的文档未创建,我收到以下警告消息:

==> devtools::document(roclets=c('rd', 'collate', 'namespace', 'vignette'))

Updating ipeadata.input documentation
Loading ipeadata.input
First time using roxygen2. Upgrading automatically...
Warning: compararBases.R:10: Missing name
Warning: The existing 'NAMESPACE' file was not generated by roxygen2, and will not be overwritten.
Documentation completed

0 个答案:

没有答案