Я пытаюсь лучше использовать org-mode для своих проектов. Я думаю, что грамотное программирование особенно применимо к области анализа данных, и в режиме org-mode мы можем сделать довольно классное грамотное программирование.
Я думаю, что большинство из вас согласятся со мной, что рабочий процесс для написания анализа отличается от большинства других типов программирования. Я не просто пишу программу, я исследую данные. И, хотя многие из этих исследований являются тупиками, я не хочу полностью их исключать/игнорировать. Я просто не хочу повторно запускать их каждый раз, когда я запускаю файл org. Я также склонны находить или разрабатывать куски полезного кода, которые я хотел бы разместить в аналитическом шаблоне, но некоторые из этих кусков не будут релевантны для каждого проекта, и я хотел бы знать, как сделать org-mode игнорировать эти когда я выполняю весь буфер. Здесь упрощенный пример.
* Import
- I want org-mode to ignore import-sql.
#+srcname: import-data
#+begin_src R :exports none :noweb yes
<<import-csv>>
#+end_src
#+srcname: import-csv
#+begin_src R :exports none
data <- read.csv("foo-clean.csv")
#+end_src
#+srcname: import-sql
#+begin_src R :exports none
library(RSQLite)
blah blah blah
#+end_src
* Clean
- This is run on foo.csv, producing foo-clean.csv
- Fixes the mess of -9 and -13 to NA for my sanity.
- This only needs to be run once, and after that, reference.
- How can I tell org-mode to skip this?
#+srcname: clean-csv
#+begin_src sh :exports none
sed .....
#+end_src
* Explore
** Explore by a factor (1)
- Dead end. Did not pan out. Ignore.
- Produces a couple of charts showing there is not interaction.
#+srcname: explore-by-a-factor-1
#+begin_src R :exports none :noweb yes
#+end_src
** Explore by a factor (2)
- A useful exploration that I will reference later in a report.
- Produces a couple of charts showing the interaction of my variables.
#+srcname: explore-by-a-factor-2
#+begin_src R :exports none :noweb yes
#+end_src
Я хотел бы иметь возможность использовать org-babel-execute-buffer и иметь какой-то способ org-mode, чтобы пропустить блоки кода import-sql, clean-csv и expl-by-a-factor-1. Я хочу их в файле org, потому что они имеют отношение к проекту. В конце концов, завтра кто-то может захотеть узнать, почему я был так уверен, что исследование по-фактору-1 было бесполезным. Я хочу сохранить этот код, так что я могу удалять сюжет, анализ или что-то еще и продолжать, но не запускать его каждый раз. Я повторяю все, потому что нет никаких оснований для его запуска. То же самое с чистым-csv материалом. Я хочу, чтобы он документировал, что я сделал с данными (и почему), но я не хочу повторно запускать их каждый раз. Я просто импортирую foo-clean.csv.
Я разобрался во всем этом и прочитал кучу архивов списков рассылки org-mode, и мне удалось найти пару идей, но не то, что я хочу. EXPORT_SELECT_TAGS, EXPORT_EXCLUDE_TAGS великолепны при экспорте файла. И заголовок: plugle хорошо работает при создании фактических исходных файлов. Я не хочу делать ни того, ни другого. Я просто хочу выполнить буфер. Я хотел бы иметь возможность определять кодовые блоки таким же образом, чтобы они выполнялись или игнорировались. Я думаю, я хотел бы найти способ иметь такую переменную org, как:
EXECUTE_SELECT_TAGS
Таким образом, я мог бы просто пометить мои различные блоки кода и сделать это. Было бы еще лучше, если бы я мог запустить файл, используя только исходные блоки с определенными тегами. Я не могу найти способ сделать это, и я думал, что попрошу, прежде чем спросить/попросить новую функцию в орг-режиме.