-1

データの代入を実行するために、パッケージに mouse::mice 関数を含めたいと思います。

Roxygen を使用してインポートを一覧表示します

#' @param data dataset to be used for imputation
#' @importFrom dplyr select_
#' @importFrom mice mice complete
#' @return A list
#' @export
#' 
impute_data <- function(data, vars, seed)
{
     data_used <- select_(data,vars)
     mice_data <- complete(mice(data_used, seed = seed))
     return(mice_data)
}

この関数は、コードをテストすると正常に動作しますが、パッケージをビルドして使用しようとすると、次のエラーが発生します

Error in check.method(setup, data) : 
  The following functions were not found: mice.impute.pmm,mice.impute.pmm, mice.impute.pmm, mice.impute.pmm, mice.impute.pmm 

エラーに記載されているすべての関数をインポートに追加しようとしましたが、結果にはまったく影響しませんでした。

私は何が欠けていますか?私はそのような問題を見つけたことがありません。

4

2 に答える 2

0

DESCRIPTION ファイルの処理を忘れています。impute_data.R のみを処理します。

あなたの質問は非常に似ています: 自分の関数で別のパッケージの関数を使用する場合、どの roxygen を配置する必要がありますか?

私はそこに答えました(質問を投稿する前に、同様の質問を検索してください)。あなたの場合:

まず、自分のことを意識する

sessionInfo() 
getwd() # your R's working directory
.libPaths() # your R's library location

Step0必要なパッケージをダウンロードしてインストールします。

library(roxygen2)
library(devtools)
library(digest)

Step1関連するすべての「.R」ファイル (yourfunction1.R、yourfunction2.R、yourfunction3.R、impute_data.R) を R の作業ディレクトリに配置します。

ステップ 2 R の作業ディレクトリにパッケージ スケルトンを作成します。次のコマンドを実行する前に、R の作業ディレクトリに「yourpackage」という名前のフォルダがないことを確認してください。(R のコンソールから)

package.skeleton(name = "yourpackage", code_files = c("yourfunction1.R", "yourfunction2.R", "yourfunction3.R", "impute_data.R"), path = ".")

を実行するpackage.skeletonと、R の作業ディレクトリに yourpackage フォルダーが作成されます。

Read-and-delete-meWindows エクスプローラーからファイルを削除します。
YourR'sWorkingDirectory\yourpackage\man フォルダーの「yourpackage-package.Rd」ファイルを削除します
(YourR'sWorkingDirectory\yourpackage\man フォルダーの「yourpackage.Rd」ファイルは削除しないでください!)

ステップ 3 「.R」ファイル ( impute_data.R ) のプリアンブルの最後に、次のように入力します (ステップ 1 で行っていない場合)。

#' @importFrom mice mice
#' @importFrom mice complete
#' @export
impute_data <- function(...) {...

Step4DESCRIPTIONパッケージのファイルのImports一部に、次を追加します。

Imports:
    mice(>= VersionNumber)

VersionNumber は、使用しているマウス パッケージのバージョン番号です。バージョン番号は、RevolutionREnterprise のオブジェクト ブラウザで (パッケージから) 任意の関数を右クリックして確認できます。結果の .html ヘルプ ファイルの一番下に移動します。そこに、パッケージのバージョン番号が表示されます。

ステップ 2 で、package.skeleton は次の内容の NAMESPACE ファイルを自動的に生成しました。

exportPattern("^[[:alpha:]]+")

この NAMESPACE ファイルを手動で処理しないでください。

Step5作成したいパッケージを roxygenize ("yourpackage")

library(roxygen2)
roxygenize("yourpackage")

roxygenization の際、パッケージの NAMESPACE ファイルの内容は、自動的に からexportPattern("^[[:alpha:]]+")に変換されます。

# Generated by roxygen2: do not edit by hand

export(impute_data)
importFrom(mice,mice)
importFrom(mice,complete)

Step6パッケージをビルドします:
(最初に、Windows Explorer から YourR'sWorkingDirectoryFolder\yourpackage フォルダー内の「src-i386」および「src-x64」フォルダー (存在する場合) を削除します)
(「yourpackage-package.Rd」がないことをもう一度確認してください) YourR'sWorkingDirectory\yourpackage\manフォルダに"ファイル。ある場合は削除してからビルドしてください)

build("yourpackage")

Step7パッケージをインストールします。

install("yourpackage")

Step8パッケージをロードし、パッケージ内の関数を実行して、すべてがうまくいっていることを確認します。

library(yourpackage)
impute_data(a,b,1235) # "impute_data" is the function in the package "yourpackage"

Step9パッケージが CRAN (Comprehensive R Archieve Network) にロード可能であることを確認します (パッケージを共有したい場合):

(最初に、Windows エクスプローラーから YourR'sWorkingDirectoryFolder\yourpackage フォルダーに "src-i386" および "src-x64" フォルダー (存在する場合) を削除します)
(YourR' に "yourpackage-package.Rd" ファイルがないことをもう一度確認してください) sWorkingDirectory\yourpackage\manフォルダ. ある場合は削除してから確認してください)

DOS コマンド プロンプトから:
Start – cmd – Enter。R の作業ディレクトリ (R の作業ディレクトリは getwd() によって認識されます) に渡し、CRAN チェックを行います。

cd C:\Users\User\Documents\Revolution
R CMD check yourpackage

R のコンソールから:

devtools::check("C:/Users/User/Documents/Revolution/yourpackage")
于 2016-06-02T08:03:15.387 に答える