Dropbox

Dropbox es una herramienta que permite sincronizar archivos a través de un directorio o disco duro virtual, esto nos permite disponer de ellos de forma remota haciendolos accesibles desde cualquier ordenador en el mundo.

El paquete rdrop2

Este paquete tiene funciones muy útiles para administrar los archivos almacenados en Dropbox directamente desde RStudio. Para más información consulte los siguientes enlaces link1 & link2

Configuración del servicio

Primero debemos instalar el paquete, si aún no se ha hecho.

# install.packages("rdrop2")
# devtools::install_github("karthik/rdrop2") ## o desde el repositorio de GitHub

Una vez hecho esto, podemos cargar el paquete:

library(rdrop2)

Para que Dropbox libere el uso de archivos, se requiere autenticación, que se puede hacer a través de este comando:

drop_auth()

Esto abrirá su navegador solicitando acceso a su cuenta de Dropbox, simplemente inicie sesión (si aún no lo ha hecho) y luego podremos regresar a R.

Podemos guardar el token para uso local o remoto:

token <- drop_auth()
saveRDS(token, file = "droptoken.rds")

Comprobación de la información

drop_acc() %>%       ## Seleccionando directorio
  data.frame() %>%   ## Convitiendo a data.frame
  names()            ## Solicitando información de la cuenta de Dropbox
 [1] "account_id"                  "name.given_name"            
 [3] "name.surname"                "name.familiar_name"         
 [5] "name.display_name"           "name.abbreviated_name"      
 [7] "email"                       "email_verified"             
 [9] "disabled"                    "country"                    
[11] "locale"                      "referral_link"              
[13] "is_paired"                   ".tag"                       
[15] "root_info..tag"              "root_info.root_namespace_id"
[17] "root_info.home_namespace_id"

Obtener la lista de directorios

Para acceder a las carpetas o archivos en su Dropbox, podemos usar la función drop_dir(), haciendo lo siguiente

#Listado del directorio
directorio <- drop_dir()

# Veamos los contenidos del directorio
directorio$name
[1] "Agrupado" "Rpubs"   
# o especifiquemos una ruta
drop_dir('RPubs/Carpeta1')$name
NULL
# Filtremos la lista de directorios por tipo de objeto (archivo/carpeta)
drop_dir() %>% 
  filter(.tag == "folder")
# A tibble: 2 x 5
  .tag   name     path_lower path_display id                       
  <chr>  <chr>    <chr>      <chr>        <chr>                    
1 folder Agrupado /agrupado  /Agrupado    id:D49fk2hMN1sAAAAAAAAFBQ
2 folder Rpubs    /rpubs     /Rpubs       id:D49fk2hMN1sAAAAAAAAE-A

Crear una carpeta

Podemos crear carpetas en Dropbox sin salir de RStudio usando el comando drop_creat()

# El nombre de la carpeta que crearemos sera "drop_prueba"
drop_create('drop_prueba')

#Para acceder a la posición donde se guardó la carpeta
numero <- which(drop_dir()$name == 'drop_prueba')
numero
[1] 3
# Accediendo a la carpeta por su posición
drop_dir()$name[numero]
[1] "drop_prueba"
# También podemos proporcionar la ruta completa donde debe crearse:
drop_create('drop_prueba/drop_test')

Cargar un archivo

De la misma manera que creamos carpetas podemos guardar archivos usando el comando drop_upload()

# Escribiremos un archivo CSV
# trees es un dataset que se utiliza para realizar modelos predictivos
write.csv(trees, 'trees.csv')

# cargando el archivo a la carpeta raíz
drop_upload('trees.csv')

# o a una carpeta específica
drop_upload('trees.csv', path = 'drop_prueba/drop_test')

Esto se puede hacer para cualquier otro tipo de archivo y se admiten archivos grandes

Descargar un archivo

# Descargar un archivo del directorio raiz

drop_download('trees.csv', local_path = 'trees2.csv' )
[1] TRUE
# o especifique la ruta
drop_download('drop_prueba/drop_test/trees.csv', local_path = 'trees3.csv')
[1] TRUE
# Si desea sobrescribir al archivo existente para reemplazarlo
drop_download('drop_prueba/drop_test/trees.csv', overwrite = TRUE)
[1] TRUE

Copiar un archivo

# Creamos una nueva carpeta
drop_create("drop_prueba/drop_test2")

# Copiar el archivo a la carpeta creada
drop_copy('drop_prueba/drop_test/trees.csv', 'drop_prueba/drop_test2/trees.csv')

Mover un archivo

# Creamos una nueva carpeta
drop_create("drop_prueba/drop_test3")

# Movemos el documento
drop_move("drop_prueba/drop_test/trees.csv", "drop_prueba/drop_test3/trees.csv")

Eliminar un archivo

drop_delete('drop_prueba/drop_test2/trees.csv')

Leer archivos CSV directamente de Dropbox

Esto es muy útil para que no tener que descargar los archivos todo el tiempo.

# Creando un csv
write.csv(cars, file = "cars.csv")

# Cargandolo a Dropbox
drop_upload("cars.csv","drop_prueba/drop_test/")

Ahora vamos a leer esto en una sesión de R con el comando drop_read_csv()

# Leyendo el archivo
new_cars <- drop_read_csv("drop_prueba/drop_test/cars.csv")

Hay que tener en cuenta que existe una descarga en su directorio temporal.

Google Drive

Google Drive es el servicio de almacenamiento de datos en internet que provee Google en su versión gratuita e incluye una capacidad de almacenamiento 15 GB. Este servicio funciona como un paquete de Windows Office u Open Office pero on line, permite crear carpetas para almacenar y subir archivos de cualquier tipo.

El paquete googledrive de

Este paquete tiene funciones muy útiles para administrar los archivos almacenados en Dropbox directamente desde RStudio. Para más información consulte los siguientes enlaces link1 & link2

Configuración del servicio

Primero debemos instalar el paquete, si aún no se ha hecho.

# install.packages("googledrive")

Una vez hecho esto, podemos cargar el paquete:

library(googledrive)

Para que Drive libere el uso de archivos, se requiere autenticación, que se puede hacer a través de este comando:

drive_auth()

Esto abrirá su navegador solicitando acceso a su cuenta de Google Drive, simplemente inicie sesión (si aún no lo ha hecho) y luego podremos regresar a R.

Obtener la lista de elementos de Drive

Listado del contenido de ‘Mi Unidad’ (unidad de almacenamiento principal en Google Drive asociado a nuestro usuario de Gmail).

#Listado de elementos
directorio <- drive_ls() 

# Veamos la lista de elementos
directorio$name
  [1] "Ejemplo1"                                                                                       
  [2] "06_envejecimiento.pdf"                                                                          
  [3] "Ejemplo2"                                                                                       
  [4] "Ejemplo4.pdf"                                                                                   
  [5] "Ejemplo3.pdf"                                                                                   
  [6] "Agrupado"                                                                                       
  [7] "Classroom"                                                                                      
  [8] "Cómo calcular las telas para cada prenda"                                                       
  [9] "T&C CONCURSO PIN~ATA BUMBLE .pdf"                                                               
 [10] "256052684-Matematica-Financiera.pdf"                                                            
 [11] "111226203-Stephen-Kellison-Theory-of-Interest-3e.pdf"                                           
 [12] "Ligas_Sem2021_1.xlsx"                                                                           
 [13] "2_5 Calculo de la tasa de rendimiento de un bono.pdf"                                           
 [14] "2_4 Amortizacion de bonos.pdf"                                                                  
 [15] "2_3 Valuacion de un bono despues de su emision.pdf"                                             
 [16] "2_2 Valuacion de bonos.pdf"                                                                     
 [17] "2_1 Clasificacion de los bonos.pdf"                                                             
 [18] "Examen1_314149804_Rodriguez_Cintia.xlsx"                                                        
 [19] "Examen1_314149804_Rodriguez_Cintia.pdf"                                                         
 [20] "S2021-1_Examen1_B.xlsx"                                                                         
 [21] "1_5 Participantes en los mercados financieros_v2.pdf"                                           
 [22] "1_3 Mercados organizados y no organizados_v2.pdf"                                               
 [23] "1_4 Mercados primario y secundario_v2.pdf"                                                      
 [24] "1_2 Caracteristicas y objetivos de los mercados_v2.pdf"                                         
 [25] "1_2 Características de los mercados.pdf"                                                        
 [26] "S2021-1_Examen1_B.pdf"                                                                          
 [27] "MFyVI - Tarea 1.pdf"                                                                            
 [28] "1_1 Mercado y Sistema Financiero Mexicano_v2.pdf"                                               
 [29] "Clase_10_051020_Resumen.pdf"                                                                    
 [30] "0_2 Anualidades.pdf"                                                                            
 [31] "0_1 Teoria_del_interes.pdf"                                                                     
 [32] "MFVI - TareaParticipación 1.pdf"                                                                
 [33] "iprint_convert_tmp.tmp"                                                                         
 [34] "Clase_4_250920_resumen.pdf"                                                                     
 [35] "Teaher’s Book 2.pdf"                                                                            
 [36] "Tema 0. Tarea1.pdf"                                                                             
 [37] "Carta ingresos.pdf"                                                                             
 [38] "314149804CHA.pdf"                                                                               
 [39] "314149804Ins.pdf"                                                                               
 [40] "Credencial.pdf"                                                                                 
 [41] "CURP_ROMC970929MDFDRN09.jpg"                                                                    
 [42] "INE.pdf"                                                                                        
 [43] "MFyVI - Tarea 2.pdf"                                                                            
 [44] "Clase_4_250920_ejercicios.pdf"                                                                  
 [45] "Clase_3_240920.pdf"                                                                             
 [46] "8088-Texto del artículo-22726-2-10-20190826.pdf"                                                
 [47] "Vejez-pensiones-en-Mexico.pdf"                                                                  
 [48] "v16n63a5.pdf"                                                                                   
 [49] "v11n21a6.pdf"                                                                                   
 [50] "sociologico-1453.pdf"                                                                           
 [51] "Dialnet-LaFinanciacionDeLasPensionesYElEnvejecimientoDemog-785085.pdf"                          
 [52] "Tarea_Participación_2.pdf"                                                                      
 [53] "Tarea Participación 1.pdf"                                                                      
 [54] "Análisis I"                                                                                     
 [55] "AAR_2021-1.pdf"                                                                                 
 [56] "Epson iPrint"                                                                                   
 [57] "DA_Taman~o carta.pdf"                                                                           
 [58] "DM_PLAN_DE_AHORRO.pdf"                                                                          
 [59] "Tarea Examen Daños.pdf"                                                                         
 [60] "TE2_314149804.zip"                                                                              
 [61] "TE1_314151272_314149804.zip"                                                                    
 [62] "Final_Project.R"                                                                                
 [63] "Final_Project_Write_Up_With_Latex_and_R_Markdown.pdf"                                           
 [64] "Tarea-Analisis--1-.html"                                                                        
 [65] "Tarea Analisis (1).Rmd"                                                                         
 [66] "AM___Tarea_Continuidad.pdf"                                                                     
 [67] "AM___Tarea_Series (1).pdf"                                                                      
 [68] "TareaSeries.pdf"                                                                                
 [69] "TareaSeries"                                                                                    
 [70] "AM___Tarea_Sucesiones.pdf"                                                                      
 [71] "Economia_Consumo_Responsable"                                                                   
 [72] "Economia_Consumo_Responsable.pdf"                                                               
 [73] "ÚtimaTareaExamen.pdf"                                                                           
 [74] "ÚtimaTareaExamen"                                                                               
 [75] "Cartera2006.xls"                                                                                
 [76] "Tarea-Examen 3 (Gonzalez Gonzalez, Elvira; Rodríguez Moreno, Cintia; Sosa Aguilar, Daniel).xlsx"
 [77] "Tarea Examen Examen autos y fianzas.pdf"                                                        
 [78] "TareaExamen2.pdf"                                                                               
 [79] "Tarea MASPI.pdf"                                                                                
 [80] "libro_GCZ2009.pdf"                                                                              
 [81] "Estadística inferencial - Cleto De La Torre Dueñas.pdf"                                         
 [82] "Temas1-3.pdf"                                                                                   
 [83] "tema4.pdf"                                                                                      
 [84] "Estadística inferencial - Cleto De La Torre Dueñas (1).pdf"                                     
 [85] "L_Sanabria_estadistica.pdf"                                                                     
 [86] "book5e2.pdf"                                                                                    
 [87] "ESTADISTICA_INFERENCIAL_II_LIBRO.pdf"                                                           
 [88] "estadistica1_1_.pdf"                                                                            
 [89] "est_inf_aplicada.pdf"                                                                           
 [90] "ebrcmdr.pdf"                                                                                    
 [91] "9788479786878.pdf"                                                                              
 [92] "Samsung Notes(1)"                                                                               
 [93] "Samsung Notes(1).pdf"                                                                           
 [94] "Feliz CUMPLE.mp4"                                                                               
 [95] "Tarea_Examen_Primas.pdf"                                                                        
 [96] "Daños"                                                                                          
 [97] "Bimbo"                                                                                          
 [98] "Probabilidad Ruelas.pdf"                                                                        
 [99] "T-E, Rodríguez Moreno Cintia & Sosa Aguilar Daniel.xlsx"                                        
[100] "Tarea-examen 1, Rodríguez Moreno Cintia & Sosa Aguilar Daniel Sebastian.pdf"                    
[101] "Portada"                                                                                        
[102] "ESPERANZA VS ESPERANZA SIN UNA CAUSA DE MUERTE"                                                 
[103] "TareaExamen3.pdf"                                                                               
[104] "Tarea-Examen 2 (Gonzalez Gonzalez, Elvira; Rodríguez Moreno, Cintia; Sosa Aguilar, Daniel).xlsx"
[105] "Equilibrio.pdf"                                                                                 
[106] "Seguridad Social"                                                                               
[107] "Tarea-Examen 2 (Gonzalez Gonzalez, Elvira; Rodríguez Moreno, Cintia; Sosa Aguilar, Daniel).xlsx"
[108] "Tarea examen anualidades.pdf"                                                                   
[109] "Tarea Examen anualidades.pdf"                                                                   
[110] "Tarea Examen anualidades"                                                                       
[111] "Tarea Examen anualidades.docx"                                                                  
[112] "Edited - Tarea Examen anualidades.pdf"                                                          
[113] "Noticia-4"                                                                                      
[114] "Noticia-4.docx"                                                                                 
[115] "T-E, Rodríguez Moreno Cintia & Sosa Aguilar Daniel.xlsx"                                        
[116] "Tarea 1.pdf"                                                                                    
[117] "Tarea 1.docx"                                                                                   
[118] "TG1GA2.pdf"                                                                                     
[119] "Boberías 1.1"                                                                                   
[120] "Boberías 1"                                                                                     
[121] "Documento sin título"                                                                           
[122] "Documento sin título"                                                                           
[123] "Economia_Consumo_Responsable.pdf"                                                               
[124] "Economia_Consumo_Responsable.pdf"                                                               
[125] "Economia-consumo-responsable..pdf"                                                              
[126] "Tarea 3, Probabilidad "                                                                         
[127] "Tarea2oOrden.pdf"                                                                               
[128] "Calculo 3"                                                                                      
[129] "Análisis financiero comentado"                                                                  
[130] "Tarea_primerO.pdf"                                                                              
[131] "Trono de Cristal - Sarah J. Maas.pdf"                                                           
[132] "Programacion(youtube.com)_1.mp4"                                                                
[133] "Gaby.m4a"                                                                                       
[134] "Documento sin título"                                                                           
[135] "Gaby.rar"                                                                                       
[136] "INDICADORES O RAZONES FINANCIERAS"                                                              
[137] "INDICADORES O RAZONES FINANCIERAS"                                                              
[138] "Análisis financiero comentado V2"                                                               
[139] "444_NIF_B_-_10_efectos_de_la_inflacion.pdf"                                                     
[140] "Geometría Analítica I 4052.xls"                                                                 
[141] "Capitulo2.pdf"                                                                                  
[142] "~Aleph461102"                                                                                   
[143] "14X.pdf"                                                                                        
[144] "Documento sin título"                                                                           
[145] "Teoría del Riesgo 2021-2"                                                                       
[146] "InvgresV.zip"                                                                                   
[147] "Mercados Financieros (Sem. 2021-1)"                                                             
[148] "MASDFyR 2020-1"                                                                                 
[149] "MASPI 2019-2 9032 MASPI"                                                                        
[150] "Economía I"                                                                                     

Búsqueda de ficheros

La búsqueda selectiva de ficheros se hace con la función drive_find() según diferentes propiedades que se pasarán como argumento de la función

# Un numero determinado de ficheros
drive_find(n_max = 10)
# A tibble: 10 x 3
   name                   id                                     drive_resource 
 * <chr>                  <chr>                                  <list>         
 1 Ejemplo1               1ZgFYRQbVYq2zfhj9lSigzg15DyoPZnTK      <named list [3~
 2 06_envejecimiento.pdf  1beUSNP7HcfUvs2AcdurAkpgFX03usy7p      <named list [4~
 3 Ejemplo2               1Lo683kwh10H7BlaNKBZUur_IFQX-hTbk      <named list [3~
 4 Ejemplo4.pdf           15IH3Sm8TLNElkEjMRdwQBfHROtm5rnH4      <named list [4~
 5 Ejemplo3.pdf           1yp-iA7LVMF1K3jIYnuBODniVKtbheItD      <named list [4~
 6 Agrupado               1_BaS__sEZYCtCLSA6GjfXjVy_bCHLntC      <named list [3~
 7 Classroom              0B29bmztOSIYxfnRQRXcyODhRcGhXU3ZqNlZC~ <named list [3~
 8 Cómo calcular las tel~ 1VAtddDSIyQ76kIddHY6IGfwrsXWdR3_K      <named list [3~
 9 T&C CONCURSO PIN~ATA ~  1N5S4icWkCn5SkQckeWpCHl9FCkl-ZlLJ      <named list [3~
10 256052684-Matematica-~ 1VNT-oG-aWDocngBLNmOlVU-Kwux9KTM6      <named list [3~
# Un tipo de formato en especifico
drive_find(type = "pdf", n_max = 10)
# A tibble: 10 x 3
   name                                 id                       drive_resource 
 * <chr>                                <chr>                    <list>         
 1 06_envejecimiento.pdf                1beUSNP7HcfUvs2AcdurAkp~ <named list [4~
 2 Ejemplo4.pdf                         15IH3Sm8TLNElkEjMRdwQBf~ <named list [4~
 3 Ejemplo3.pdf                         1yp-iA7LVMF1K3jIYnuBODn~ <named list [4~
 4 T&C CONCURSO PIN~ATA BUMBLE .pdf      1N5S4icWkCn5SkQckeWpCHl~ <named list [3~
 5 256052684-Matematica-Financiera.pdf  1VNT-oG-aWDocngBLNmOlVU~ <named list [3~
 6 111226203-Stephen-Kellison-Theory-o~ 1gHk2WmwZ8oki7YOzbHXZMY~ <named list [3~
 7 2_5 Calculo de la tasa de rendimien~ 12zHztEEKKQR5LSZEN5i3Ba~ <named list [3~
 8 2_4 Amortizacion de bonos.pdf        1mjRrKlvuRD6PoaW73ngnRO~ <named list [3~
 9 2_3 Valuacion de un bono despues de~ 1EcKL6u3QlhTaxTmi6H8_FN~ <named list [3~
10 2_2 Valuacion de bonos.pdf           1WQD5GlPSQ2QB4cR1qUKvgD~ <named list [3~
# Una determinada expresion regular
drive_find(pattern = "^Ejemplo")
# A tibble: 4 x 3
  name         id                                drive_resource   
* <chr>        <chr>                             <list>           
1 Ejemplo1     1ZgFYRQbVYq2zfhj9lSigzg15DyoPZnTK <named list [33]>
2 Ejemplo2     1Lo683kwh10H7BlaNKBZUur_IFQX-hTbk <named list [33]>
3 Ejemplo4.pdf 15IH3Sm8TLNElkEjMRdwQBfHROtm5rnH4 <named list [40]>
4 Ejemplo3.pdf 1yp-iA7LVMF1K3jIYnuBODniVKtbheItD <named list [40]>

Crear una carpeta

Podemos crear carpetas en Drive sin salir de RStudio usando el comando drive_mkdir()

# El nombre de la carpeta que crearemos sera "drive_prueba"
drive_mkdir('drive_prueba')

# También podemos proporcionar la ruta completa donde debe crearse:
drive_mkdir('drive_prueba/drive_prueba1')

Cargar un archivo

De la misma manera que creamos carpetas podemos guardar archivos usando el comando drive_upload()

# Escribiremos un archivo CSV
# diamons es un dataset de los precios de 50.000 diamantes
write.csv(diamonds, 'diamons.csv')

# cargando el archivo a la carpeta raíz
drive_upload ('diamons.csv')

# o a una carpeta específica
drive_upload('diamons.csv', path = '~/drive_prueba/drive_prueba1/')

Descargar un archivo

# Descargar un archivo, si su nombre es unico
drive_download("06_envejecimiento.pdf")

# Descargar un archivo cuyo nombre se repite y sobreescribirlo
busc_arch <- drive_find(pattern = "diamons")
busc_arch$id[1]
[1] "1Frxla4OUmUQpvnzIZU8fJb8kJ6g5Itvv"
drive_download(as_id(busc_arch$id[1]), overwrite = TRUE)

Copiar un archivo

# Copiar el archivo en la misma carpeta
drive_cp("06_envejecimiento.pdf", "06_envejecimiento(2).pdf")

## Hacer una copia con un nuevo nombre en otra carpeta
drive_cp("06_envejecimiento.pdf", path = "~/Ejemplo1", name = "06_envejecimiento(3).pdf")

Mover un archivo

# Movemos el documento
drive_mv("06_envejecimiento(2).pdf", path = '~/drive_prueba/drive_prueba1/')

Eliminar un archivo

# De forma permanente
drive_rm("06_envejecimiento(3).pdf")

# Enviandolos a la papelera de Drive
drive_trash("06_envejecimiento(2).pdf", verbose = TRUE)