#r #package
#r #пакет
Вопрос:
Итак, я пытаюсь собрать свой первый пакет на R, но при запуске check () я получаю ошибку, которую я не уверен, как исправить.
Ошибка, которую я получаю, это:
Недокументированные аргументы в объекте documentation ‘monthly.rainR‘ ‘база данных’
Функции с записями usage должны иметь соответствующие записи alias и все их аргументы, документированные. Записи usage должны соответствовать синтаксически допустимому R-коду.
Я просмотрел книгу Хэдли и попробовал несколько предложений, которые нашел в Интернете… но ни одно из решений, похоже, не сработало
Документ roxygen2 выглядит следующим образом:
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/Simple.stats_rainR.R
name{monthly.rainR}
alias{monthly.rainR}
title{Stand alone monthly rain plots:}
usage{
monthly.rainR(database)
}
value{
12 monthly average rainfall plots
}
description{
Stand alone monthly rain plots:
}
examples{
rain4 = load_rain()
monthly.rainR(rain4)
}
Моя функция monthly.rain () выглядит следующим образом:
#' Stand alone monthly rain plots:
#'
#' @return 12 monthly average rainfall plots
#' @export
#'
#' @examples
#' rain4 = load_rain()
#' monthly.rainR(rain4)
monthly.rainR = function(database){
# Seperate by Month:
# avm <- matrix(rain_month$rainfall[1:1932], ncol = 12, byrow = TRUE)
avm <- matrix(database$r_month$rainfall[1:1932], ncol = 12, byrow = TRUE)
# Compute annual average:
avb <- seq(0,length = 161)
for(y in 1:161){avb[y] = mean(avm[y,])}
# Put monthly averages and annual average in a matrix:
avmb = cbind(avm, avb)
# Plot 12 panels on the same figure:
plot.new()
timeyr = database$r_year$year
par(mar=c(1,1,1,1))
par(mfrow = c(6,2)) # 4 rows amp; 3 cols
par(mgp = c(2,1,0))
for(i in 1:12){
plot(timeyr, avmb[,i], type = "l", ylim = c(10,190),
xlab = "Year", ylab = "Rainfall",
main = paste("month is", i, split = ""))
lm.rainR.monthly <- lm(avmb[,i] ~ timeyr)
abline(lm.rainR.monthly, col="red")
}
}
Я новичок в написании пакетов, поэтому я не уверен, что здесь происходит. Любые предложения были бы замечательными.
Комментарии:
1. Перед
@return
вам нужно добавить@param database
, чтобы у аргумента была документация.2. Ах, конечно… Я не знаю, как я это пропустил… Спасибо
Ответ №1:
После определения
# ' @param
использовать
# ' @return