如何直接从R控制台打开工作目录?

时间:2012-08-27 02:52:41

标签: r

如何直接从R控制台打开我的getwd()文件夹?如果我想看到我最近刚刚导出的东西,这很有用。谷歌搜索没有透露任何内容,我没有能力建立一个功能。

3 个答案:

答案 0 :(得分:18)

如果您确实需要文件浏览器,则可以创建一个打开目录的功能。这是根据您使用的操作系统以不同方式完成的,但这应涵盖大多数基础

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

如果您不需要跨平台,则可以将其简化为操作系统的代码。但是,如果您只想查看给定目录中的文件,那么使用dir就足够了。

答案 1 :(得分:5)

您可以使用dir()或list.files()显示当前工作目录或file.choose()中的文件,以浏览目录并选择文件。这三个都默认为当前工作目录。

答案 2 :(得分:0)

发布答案是因为上述功能对我不起作用-通过R内部的system调用(下面的会话信息)使用了macOS终端命令来解决该问题。

功能

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