#install.packages(c("devtools", "roxygen2", "usethis", "available"))
library(devtools)
library(roxygen2)
library(usethis)
Nếu có ý định upload package này lên cran thì có thể dùng hàm này để kiểm tra xem package đã có trên cran hay chưa.
library(available)
available("git.manual")
Tạo package và thêm git vào.
usethis::create_package("~/Desktop/git.manual")
use_git()
use_github()
Có thể chỉnh sửa trực tiếp bằng tay (làm cách này khi mất code thì phải làm đi làm lại). Nên trong phần này mình sẽ chỉnh sửa file DESCRIPTION sử dụng package desc
library(desc)
- Xóa DESCRIPTION mặc định
unlink("DESCRIPTION")
- Tạo mới và clean file DESCRIPTION
Do package sử dụng object R6, nên có thể dùng hàm hoặc toán tử $ để chỉnh sửa các thành phần của object
my_desc <- description$new("!new")
- Đặt tên package của bạn
my_desc$set("Package", "git.manual")
- Tên của tác giả
my_desc$set("Authors@R", "person('Ngoc Binh', 'Nguyen', email = '[email protected]', role = c('cre', 'aut'))")
- Xóa 1 số trường liên quan đến tác giả hoặc người duy trì
my_desc$del("Maintainer")
- Đặt phiên bản
my_desc$set_version("0.0.0.9000")
- Title của package
my_desc$set(Title = "HOW TO USING GIT")
- Mô tả về package
my_desc$set(Description = "A long description of this super package I'm working on.")
- urls
my_desc$set("URL", "https://this")
my_desc$set("BugReports", "https://that")
- Tạo file DESCRIPTION mới
my_desc$write(file = "DESCRIPTION")
Sau khi đã chỉnh sửa file DESCRIPTION ở trên. Phần này sẽ tạo ra file license. Ví dụ với MIT license.
# options(usethis.full_name = "Nguyen Ngoc Binh")
use_mit_license("Nguyen Ngoc Binh")
use_gpl3_license()
use_apl2_license()
use_cc0_license()
use_readme_rmd()
use_data_raw() tạo ra folder data-raw. Trong này sẽ chứa code để setup raw data.
use_data_raw()
user_r() tạo ra 1 file .R trong folder /R/
use_r("sfa")
use_testthat()
use_test("function_name")
use_package("dplyr")
use_package("purrr")
use_news_md()
use_vignette("git.manual", "Simulate git")
use_version()
Đây là những file .md được lưu trong folder man/
use_roxygen_md()
use_tidy_description()
use_travis()
use_appveyor()
use_coverage(type = c("codecov"))
use_spell_check()