Все функции ph_with_ * устарели. Есть ли способ, если я все еще могу использовать старую версию Officer и flextable, которая позволит мне использовать функции ph_with_ *. У меня автоматизированный процесс, и из-за новой версии мне сложно вносить все изменения
Офицерский пакет в R
Ответы (1)
Это должно быть возможно. Если вам известен конкретный номер версии (вы можете проверить журнал изменений), просто откройте архив, скопируйте URL-адрес своей версии и запустите например:
install.packages("https://cran.r-project.org/src/contrib/Archive/officer/officer_0.1.0.tar.gz",
repos = NULL, type = "source")
Или используйте devtools
пакет:
devtools::install_version("officer",
version = "0.1.0",
repos = "http://cran.r-project.org")
То же самое касается пакета flextable
с его журналом изменений и Архив CRAN.
Пример
Я пробовал следующее:
devtools::install_version("officer",
version = "0.3.2",
repos = "http://cran.r-project.org")
devtools::install_version("officer",
version = "0.4.4",
repos = "http://cran.r-project.org")
И пример с ph_with_flextable_at()
из документации работает нормально:
library(officer)
library(flextable)
ft <- flextable(head(mtcars))
doc <- read_pptx()
doc <- add_slide(doc, layout = "Title and Content",
master = "Office Theme")
doc <- ph_with_flextable(doc, value = ft, type = "body")
doc <- ph_with_flextable_at(doc, value = ft, left = 4, top = 5)
print(doc, target = "test.pptx")
person
Community
schedule
03.07.2020
Спасибо, Петя, за ответ. Я проверил журнал изменений, и изменение с ph_with_ * на ph_with было выполнено после версии 0.3.2. Затем я установил версию 0.3.2, но получаю следующую ошибку - Ошибка: ph_with_flextable_at не работает. Вместо этого используйте «офицер :: ph_with». См. Справку (Несуществующий) Дополнительно: Предупреждающее сообщение:
- person Anshul Jain; 03.07.2020
@AnshulJain Привет, Аншул, да, ты прав. Похоже, вам также необходимо установить соответствующую версию flextable, например, 0.5.6 или более раннюю, см. Их динамический журнал изменений и архив. Дай мне знать, если это работает.
- person ; 03.07.2020
Привет, Петр, с офицерской версией 0.3.2 и изменяемой версией 0.5.6 я получаю сообщение об ошибке. Не уверен, какие две комбинации версий совместимы - Предупреждение: замена предыдущего import 'zip :: unzip' на 'utils :: unzip' при загрузке 'Officer' Ошибка: объект 'ph_with' не экспортируется 'namespace: Officer' ОШИБКА: ленивый не удалось загрузить пакет 'flextable'
- person Anshul Jain; 03.07.2020
@AnshulJain Я попытался установить
officer 0.3.2
с flextable 0.4.4
(поскольку они отсутствовали в то же время), и базовые сценарии с ph_with_flextable_at()
работают у меня правильно без каких-либо предупреждений или ошибок - я обновил ответ, попробуйте.
- person ; 03.07.2020
Спасибо, Петр, комбинации версий, которые вы упомянули в примере, работают нормально. Очень ценю, что уделила этому время. Спасибо!
- person Anshul Jain; 07.07.2020
@AnshulJain Вау, отлично, спасибо за отзыв, я рад, что это действительно работает для вас!
- person ; 07.07.2020