Используйте -[NSDateFormatter setTimeZone:]
, чтобы предоставить формат даты с информацией о часовом поясе. Вы можете использовать местный часовой пояс или если у вас есть фиксированный часовой пояс, связанный с информацией о дате, я рекомендую создать часовой пояс с именем (например, «Америка / Восток»), а не аббревиатурой (например, «EST» или «EDT»), поскольку имя не вносит эффект летнего времени в силу, но использует правильное смещение дневного света для этой даты в этом часовом поясе.
Я только что начал писать быстро-грязную функцию для обработки этого, который я называю stale_package_check
, и я добавил его в свой пакет ( funchir
); эта функция еще не включена в версию CRAN.
Он выполняет быструю (не совершенную) проверку для всех экземпляров library(*)
в скрипте, затем выполняет поиск регулярных выражений для всех NAMESPACE
-экспортированных функции в поставляемом файле.
, например, если мы сохраним следующий скрипт как test.R:
library(data.table)
library(iotools)
DT = data.table(a = 1:3)
Затем (из каталога с этим скриптом) запустите funchir::stale_package_check('test.R')
, мы получим:
Функции, сопоставленные с данными пакета.table: data.table
** Нет экспортируемых функций, сопоставленных с iotools **
Он все еще находится в «бета-версии» (например, я не нашел времени, чтобы соответствовать
require
вызовам, на данный момент используются только вызовыlibrary
), но по-прежнему полезно.
Вы рассмотрели использование packrat ?
packrat::clean()
, например, удаляли неиспользуемые пакеты.
packrat::init()
, потому что я просто переустановил R - я думаю, что он ищет пакеты, которые я еще не переустановил. Это похоже на самое индивидуальное решение, будет принято, когда я выясню свои проблемы локально
– MichaelChirico
3 April 2015 в 18:45
packrat::init()
просматривает текущий рабочий каталог для all i> R
файлов в текущем рабочем каталоге. Это не совсем то, что я хотел ... близко, но не совсем.
– MichaelChirico
3 June 2015 в 23:48
Мой подход всегда заключается в том, чтобы закрыть мой R-скрипт или IDE (т. е. RStudio), а затем запустить его снова. После этого я запускаю свою функцию без предварительной загрузки каких-либо зависимостей / пакетов. Это должно привести к появлению различных предупреждений и сообщений об ошибках, сообщающих вам, какие функции не могут быть найдены и выполнены. Это снова даст вам подсказки о том, какие пакеты необходимо загрузить заранее, и какой из них вы можете оставить.