On Wed, 5 Jan 2022 17:15:20 -0300 Igor L <igorlal...@gmail.com> wrote:
> Found the platform-specific device: > 'X11' > how to solve it? One of the tricks that work (in the sense that calls to functions using non-standard evaluation don't result in warnings about "Undefined global functions or variables") is to declare the variables locally, inside the function: protocolo <- X1 <- X2 <- ... X21 <- NULL var <- readr::read_csv2(...) ... Alternatively, since you know that the file always has 21 columns, you can pass the variable to `colnames<-` instead of dplyr::rename, together with a vector of column names you already have in the nomes.colunas vector. This way, you won't need to declare the 21 dummy variable. By the way, you shouldn't declare at least download.file and unzip functions as global variables. Instead, import them from the utils package in your NAMESPACE (or using the @importFrom Roxygen tag, if you use Roxygen). There are other ways the package code could be improved: - There doesn't seem to be a need for the dynamically-named variable you create using assign(paste0('pedidos', i), var) and remove soon after; you can just use `var` instead of get(paste0('pedidos', i)). - If you're worried about leaving temporary variables around, move the loop body into a separate function so that anything you don't return from it would be cleaned up automatically. - You can future-proof your package by creating the URLs with paste0('https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_', year, '.zip') instead of hard-coding their list. It seems likely to me that once the 2022 Right to Information Law report is available, it'll have a predictable URL. If not, then you'll update the package (as you were going to anyway). - If you need to iterate over indices in a vector, use for (idx in seq_along(vector)) instead of for (i in vector) and match() to find the index. Though in this case, the code can be modified to avoid the need for the index in the loop body. -- Best regards, Ivan ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel