Сохраняют ли проекты RStudio какие-либо временные данные?
Я использую проект RStudio для работы с конфиденциальными данными (т. Е. Проект, связанный с рабочим каталогом, а не с контролем версий). Я хочу поделиться своим сценарием confidential_script.R
и проект confidential_project.Rproj
с соавтором без обмена какими-либо реальными данными, включая временные файлы или метаданные. Я стараюсь не сохранять или делиться .RData
файлы. Тем не менее, RStudio в Windows автоматически создает .Rproj.user
скрытая папка с метаданными проекта.
Могу ли я поделиться файлами проекта RStudio, не ставя под угрозу какую-либо конфиденциальную информацию?
1 ответ
Лучший способ управления конфиденциальными зависимостями - это объявить их как объекты R в верхней части скрипта и устранить необходимость совместного использования файлов метаданных, таких как проект R или проект RStudio.
В идеале можно создать тестовую версию конфиденциальной информации, которая содержит случайные / анонимные данные, разработать несколько тестов / отчетов для проверки и включить эти элементы в сценарий R, чтобы другие сотрудники могли убедиться, что он работает, прежде чем использовать его с оперативными данными.
Сценарий, параметры, тестовые данные и контрольные примеры делают сценарий полностью воспроизводимым.
Пример: скачать и объединить файлы статистики покемонов
В следующем примере сценария загружаются статистические данные для первых семи поколений покемонов и объединяются в один фрейм данных для последующего анализа.
# 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)