2013-09-27 2 views
1

Хороший причалКак узнать, где был установлен пакет R

Я хотел бы знать, есть ли способ найти, где установлен пакет.

Фактически, я в настоящее время документирую пакет. В моем пакете у меня есть функция под названием «read.myfile», которая читает файл определенного типа (примерно как read.table). У меня есть экземпляр такого файла с именем «myfile.txt» в папке моего пакета. В моей документации я хочу запустить исполняемый пример этой функции. Вот почему мне нужен путь, где пользователь установил пакет. Таким образом, с помощью этого пути я могу получить путь к файлу «myfile.txt» и использовать функцию «read.myfile» в файле справки .Rd, который дает справку о функции «read.myfile». Таким образом, мой пример будет исполняться везде, где пользователь установил пакет.

Надеюсь, мое сообщение было ясным. Я не знаю, можно ли это сделать, но если кто знает, спасибо за помощь.

+1

Вы можете использовать 'path.package() 'или' system.file() ' – Andrie

+0

Или' .libPaths() '- первый элемент является местом установки по умолчанию, если библиотека не была указана при использовании' install.package'. –

ответ

7

Используйте функцию system.file.

Например:

system.file(package="ggplot2") 
[1] "C:/Users/Andrie/Documents/R/win-library/3.0/ggplot2" 
+0

спасибо A LOT Andrie –

2

Вы можете использовать installed.packages и подмножество, чтобы получить только местоположение библиотеки, в которой он установлен:

installed.packages()["tools","LibPath"] 
[1] "C:/Program Files/R/R-2.15.2/library" 
+0

Спасибо Джеймс, это тоже работает, конечно! –

+0

Да, результат команды на самом деле очень богат. Спасибо, теперь я знаю эту функцию. –

Смежные вопросы