使用R pin数据传输

For data transfer between local and cloud

Tool
R
Author

Tony Duan

Published

March 15, 2025

Package Pins for Upload and download data/model to online drive.

Code
pak::pkg_install("pins")
Code
library(pins)
library(tidyverse)

local board

use local location as a board

Code
board=board_folder(getwd())
Code
board %>% pin_list()

upload to local board

Code
board %>% pin_write(head(mtcars), "mtcars")

download from local board

Code
a=board %>% pin_read("mtcars")
a

upload file to board

Code
board %>% pin_upload('thumbnail.jpg','new.thumbnail.jpg')

list file in the board

Code
board %>% pin_list()

download file from board

Code
board %>% pin_download('new.thumbnail.jpg')

online one drive board

one drive as as a board

Code
od <- Microsoft365R::get_personal_onedrive()
board365 <- board_ms365(od, "myboard")

upload to one drive board

Code
board365 %>% pin_write(tail(mtcars), "mtcars")

download from one drive board

Code
board365 %>% pin_read("mtcars")

list file in the board

Code
board %>% pin_list()

using version

upload two data to mtcars with version control

Code
board %>% pin_write(tail(mtcars), "mtcars_version",versioned = TRUE)
board %>% pin_write(head(mtcars), "mtcars_version",versioned = TRUE)

there will be two version

Code
board %>% pin_versions("mtcars_version")

download version file from board

Code
# board %>% pin_read("mtcars_version",version = '20230704T095208Z-8df40')
board %>% pin_read("mtcars_version",version = .Last.value$version[[1]])

Reference

RStudio’s {pins} package: what it is, how it works, and what it can do for you! || RStudio https://www.youtube.com/watch?v=3Yk6U_XqxNo

Javier Luraschi | Datasets in Reproducible Research with ‘pins’ | RStudio (2020) https://www.youtube.com/watch?v=xwItECnphRU

pins doc: https://pins.rstudio.com/

Ep 5: Keeping data up-to-date with 6 pins workflows | Posit Team: https://www.youtube.com/watch?v=t8A-ysXinpE