Как перенести мои файлы в R Projects, а потом на GitHub?

У меня есть 3 скрипта r;

  1. data1.r
  2. data2.r
  3. граф1.р

два файла данных, выполнить некоторую математику и создать 2 отдельных файла данных, которые я сохраняю в своем рабочем каталоге. Затем я вызываю эти два файла в граф1.р и использую их для построения данных.

Как я могу организовать и создать проект R, который имеет;

  • эти два файла данных - data1.r и data2.r
  • другой файл, который вызывает эти файлы (граф1.р)
  • Выход граф1.р

Затем я хотел бы поделиться всем этим на GitHub (я знаю, как это сделать).

Редактировать -

Вот скрипт data1

df1 <- data.frame(x = seq(1,100,1), y=rnorm(100))
save(df1, file = "data1.Rda")

Вот скрипт data2

df2 <- data.frame(x = seq(1,100,1), y=rnorm(100))
save(df2, file = "data2.Rda")

Вот скрипт graph1

load(file = "data1.Rda") 
load(file = "data2.Rda") 
library(ggplot2)
ggplot()+geom_point(data= df1, aes(x=x,y=y))+geom_point(data= df2, aes(x=x,y=y))

Вопрос сформулирован иначе -

Как вышеизложенное должно быть выполнено внутри проекта?

Я просмотрел следующие уроки -

@jonrsharpe спасибо за правки. Может у вас есть предложение о том, как связать файлы в проекте? С уважением

NiGS 19.03.2022 17:11

Если бы я это сделал, я бы уже выложил. Редактирование не требует технических знаний, я ничего не знаю о R.

jonrsharpe 19.03.2022 17:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я разбил свой ответ на три части:

  • Вопрос в вашем заголовке
  • Переформулированный вопрос в вашем тексте
  • То, что я, основываясь на ваших комментариях, считаю, что вы на самом деле спрашиваете

Как перенести мои файлы в R Projects, а потом на GitHub?

В RStudio просто создайте новый проект и переместите файлы в эту папку. Затем вы можете инициализировать эту папку с помощью git, используя git init.

Как [мой включенный код] должен выполняться внутри проекта?

Вы не необходимость ничего не меняете в своем примере кода. Если вы просто поместите свои файлы в папку проекта, они будут работать нормально.

Проект R в основном заботится о следующем:

  • Рабочий каталог (всегда устанавливается в папку проекта)
  • Пути к файлам (все пути указаны относительно корневой папки проекта)
  • Настройки (вы можете установить настройки для конкретного проекта)

Кроме того, многие внешние пакеты предназначены для работы с проектами, облегчая вам многие задачи. Проект также является очень хорошей отправной точкой для совместного использования вашего кода с Git.

Каким был бы хороший рабочий процесс для работы с несколькими сценариями в проекте R?

Одним из распространенных способов организации нескольких сценариев является создание нового сценария, вызывающего другие сценарии по порядку. Обычно я нумерую сценарии, чтобы было легко увидеть порядок их вызова. Например, здесь я бы создал 00_main.R и включил код:

source("01_data.R")
source("02_data.R")
source("03_graph.R")

Note that I've renamed your scripts to make the order clear.

В вашем коде вам не нужно сохранять данные, чтобы передавать их между сценариями. Приведенный выше код будет работать нормально, если вы удалите части кода save() и load(). Объекты, созданные сценариями, по-прежнему будут находиться в вашей глобальной среде, готовые к использованию их следующим сценарием.

Если вам делать нужно сохранить ваши данные, я бы сохранил их в папку с именем data/. Вывод вашего сюжета я бы, вероятно, сохранил в outputs/ или plots/.

Когда вы привыкнете к работе с R, следующим шагом по организации вашего кода, вероятно, будет создание пакета вместо использования только проекта. Вы можете найти всю необходимую информацию в эта книга.

Привет, спасибо за ваше предложение. Но вопрос в основном сосредоточен на том, как связать файлы в проекте, а не на шагах по созданию нового проекта в r.

NiGS 19.03.2022 17:11

Ах хорошо. Я интерпретировал «как перенести мои файлы в проекты R» как «как создать проект R» — поскольку ваши файлы находятся в той же папке, что и файл .Rproj, они находятся в том же проекте. Не могли бы вы уточнить свой вопрос? Особенно: что вы подразумеваете под «связыванием файлов внутри проекта»?

jpiversen 19.03.2022 18:51

Конечно. Прежде всего, я отредактировал вопрос, чтобы быть максимально ясным. В настоящее время у меня есть три сценария, причем (graph1) вызывает вывод первых двух сценариев. Эти данные сохраняются в файле wd. Как RProject делает то, что делаю я? Мой нынешний подход незрелый, и я чувствую, что должен быть лучший способ выполнить то, что я делаю.

NiGS 19.03.2022 19:30

Я обновил свой ответ, исходя из того, как я понимаю ваш вопрос. Пожалуйста, дайте мне знать, если это было более полезно, или если я все еще не понимаю ваш вопрос.

jpiversen 20.03.2022 08:26

Это здорово - дает мне все, что мне нужно, чтобы немного поиграть и выяснить, как это сделать для моих конкретных нужд. Огромное спасибо!

NiGS 20.03.2022 12:19

Другие вопросы по теме