Получение пути сценария R

Причины, почему селекторы на основе id не работают

  1. Элемент / DOM с указанным идентификатором еще не существует.
  2. Элемент существует, но он не является зарегистрированный в DOM [в случае, если HTML-узлы динамически добавляются из ответов Ajax].
  3. Присутствует более одного элемента с тем же идентификатором, который вызывает конфликт.

Решения

  1. Попробуйте получить доступ к элементу после его объявления или, альтернативно, использовать такие вещи, как $(document).ready();
  2. . Для элементов, исходящих из ответов Ajax, используйте метод .bind() для jQuery. В старых версиях jQuery для этого было .live().
  3. Используйте инструменты [например, плагин webdeveloper для браузеров], чтобы найти дубликаты идентификаторов и удалить их.
61
задан nico 10 August 2010 в 18:17
поделиться

3 ответа

Используйте source ("yourfile.R", chdir = T)

25
ответ дан 24 November 2019 в 17:17
поделиться

Большому количеству этих решений несколько лет. В то время как некоторые могут все еще работать, существуют серьезные основания против использования каждого из них (см. связанный источник ниже). У меня есть лучшее решение (также из источника): используйте here библиотека.

Исходный пример кода:

library(ggplot2)
setwd("/Users/jenny/cuddly_broccoli/verbose_funicular/foofy/data")
df <- read.delim("raw_foofy_data.csv")

Пересмотренный код

library(ggplot2)
library(here)

df <- read.delim(here("data", "raw_foofy_data.csv"))

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

Источник: https://www.tidyverse.org/articles/2017/12/workflow-vs-script /

1
ответ дан 24 November 2019 в 17:17
поделиться

Если вы заключите свой код в пакет, вы всегда можете запросить части каталога пакета.
Вот пример из пакета RGtk2:

> system.file("ui", "demo.ui", package="RGtk2")
[1] "C:/opt/R/library/RGtk2/ui/demo.ui"
> 

Вы можете сделать то же самое с каталогом inst / glade / в ваших исходных текстах, который станет каталогом glade / в установленном пакете. - и system.file () вычислит путь для вас при установке, независимо от ОС.

6
ответ дан 24 November 2019 в 17:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: