首页 > 解决方案 > RStudio 项目是否存储任何临时数据?

问题描述

我正在使用 RStudio 项目来处理机密数据(即与工作目录关联的项目,非版本控制)。我想与合作者共享我的脚本confidential_script.R和项目,而不共享任何真实数据,包括临时文件或元数据。我确保不保存或共享任何文件。但是,Windows 中的 RStudio 会自动创建带有项目元数据的隐藏文件夹。confidential_project.Rproj.RData.Rproj.user

我可以在不泄露任何机密信息的情况下共享 RStudio 项目文件吗?

标签: rrstudioprojectconfidentiality

解决方案


管理机密依赖项的最佳方法是将它们声明为脚本顶部的 R 对象,并消除共享元数据文件(如 R 项目或 RStudio 项目)的需要。

理想情况下,一个人会创建一个包含随机/匿名数据的机密信息的测试版本,开发一些测试/报告以进行验证,并将这些项目包含在 R 脚本中,以便其他合作者可以确保它在与实时数据一起使用之前工作。

脚本、参数、测试数据和测试用例使脚本完全可重现。

示例:下载并合并 Pokémon 统计文件

以下示例脚本下载前七代神奇宝贝的统计数据,并将它们组合成一个数据框以供后续分析。

# name of zip file assigned to theZipFile object
theZipFile <- "https://raw.githubusercontent.com/lgreski/pokemonData/master/pokemonData.zip"

download.file(theZipFile,
              "pokemonData.zip",
              method="curl",mode="wb")
unzip("pokemonData.zip")

thePokemonFiles <- list.files("./pokemonData",
                              full.names=TRUE)
thePokemonFiles 

pokemonData <- lapply(thePokemonFiles,function(x) read.csv(x))

# a list of 7 data frames
summary(pokemonData)

pokemonData <- do.call(rbind,pokemonData)

summary(pokemonData)

推荐阅读