Сохраняют ли проекты 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)
Другие вопросы по тегам