Как открыть рабочий каталог непосредственно из консоли R?

Как открыть папку getwd() непосредственно из консоли R? Это полезно, если я хочу увидеть что-то, что я недавно экспортировал. Поиск Google не показал ничего, и у меня нет возможности построить функцию.

Ответ 1

Если вам действительно нужен файловый браузер, вы можете создать функцию для открытия каталога. Это делается по-разному на основе используемой операционной системы, но это должно охватывать большинство баз.

opendir <- function(dir = getwd()){
    if (.Platform['OS.type'] == "windows"){
        shell.exec(dir)
    } else {
        system(paste(Sys.getenv("R_BROWSER"), dir))
    }
}

Если вам не нужна кроссплатформенная платформа, вы можете уменьшить ее до кода для вашей ОС. Но если вы просто хотите просмотреть файлы в данном каталоге, то использование dir должно быть достаточно хорошим.

Ответ 2

Вы можете использовать dir() или list.files() для отображения файлов в текущем рабочем каталоге или file.choose() для просмотра каталога и выбора файла. Все три по умолчанию для текущего рабочего каталога.

Ответ 3

Отправка ответа, потому что вышеупомянутая функция у меня не сработала - обошла ее, используя команду терминала macOS через вызов system изнутри R (информация о сеансе ниже).

Функция

opendir <- function(directory = getwd()){
  system(sprintf('open %s', shQuote(directory)))
}

Информация о сеансе

> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils    
[5] datasets  methods   base     

other attached packages:
 [1] here_0.1          htmlwidgets_1.3  
 [3] openxlsx_4.1.0.1  tictoc_1.0       
 [5] plotly_4.9.0      jsonlite_1.6     
 [7] ggplot2_3.1.1     lubridate_1.7.4  
 [9] httr_1.4.0        data.table_1.12.2

loaded via a namespace (and not attached):
 [1] zip_2.0.2          Rcpp_1.0.1        
 [3] RColorBrewer_1.1-2 later_0.8.0       
 [5] pillar_1.4.0       compiler_3.6.0    
 [7] plyr_1.8.4         tools_3.6.0       
 [9] digest_0.6.19      packrat_0.5.0     
[11] tibble_2.1.1       gtable_0.3.0      
[13] viridisLite_0.3.0  pkgconfig_2.0.2   
[15] rlang_0.3.4        shiny_1.3.2       
[17] rstudioapi_0.10    crosstalk_1.0.0   
[19] yaml_2.2.0         withr_2.1.2       
[21] dplyr_0.8.1        stringr_1.4.0     
[23] rprojroot_1.3-2    grid_3.6.0        
[25] tidyselect_0.2.5   glue_1.3.1        
[27] R6_2.4.0           processx_3.3.1    
[29] purrr_0.3.2        tidyr_0.8.3       
[31] magrittr_1.5       ps_1.3.0          
[33] promises_1.0.1     backports_1.1.4   
[35] scales_1.0.0       htmltools_0.3.6   
[37] assertthat_0.2.1   xtable_1.8-4      
[39] mime_0.6           colorspace_1.4-1  
[41] httpuv_1.5.1       labeling_0.3      
[43] stringi_1.4.3      lazyeval_0.2.2    
[45] munsell_0.5.0      crayon_1.3.4