2

パッケージの関数の 1 つが、ビルド時にパッケージ ソースへの追加を拒否し、R CMD チェックの実行時に失敗します。

私のパッケージは github hereにあります。ファイル calculate_latitude_and_longitude.R は、R ディレクトリに確実に存在します。

$ ls R  
calculate_latitude_and_longitude.R clean_coordinates_XBLOCK.R  clean_crime_data.R
load_crime_data_by_ward.R clean_coordinates.R
clean_coordinates_YBLOCK.R dccrimedata-package.R

パッケージをビルドすることはできますが、何らかの理由でビルドに calculate_latitude_and_longitude.R ファイルが含まれていません。tar ボールの R ディレクトリを参照することで、このファイルがスキップされることを確認できます。

インストールまたは実行R CMD check dccrimedata_0.1.tar.gz時に、00install.log ファイルに次のエラーが記録されます。

Error in .install_package_code_files(".", instdir) :
files in 'Collate' field missing from '/Users/erikshilts/workspace/dc_crime_data/dccrimedata.Rcheck/00_pkg_src/dccrimedata/R':
  calculate_latitude_and_longitude.R
ERROR: unable to collate and parse R files for package ‘dccrimedata’

関数の名前を変更したり、新しいファイルを作成したり、行をコメントアウトしたり、roxygen タグを削除したりしましたが、その関数をパッケージに入れるのに役立ちません。

何がうまくいかないのですか?

関数の完全なコードは次のとおりです。

#' Calculate Latitude and Longitude
#'
#' Calculates latitude and longitude from XBLOCK AND YBLOCK coordinates.
#' The coordinates are given in the NAD 83 projection, Maryland state plane,
#' with units in meters. Documentation for this calculation can be found in the
#' README file.
#'
#' @param crime_data data.frame of crime records
#' @return data.frame with two additional columns, latitude and longitude, with units in the standard GPS format
#' @export
calculate_latitude_and_longitude <- function(crime_data) {
  xy_coords <- crime_data[, c('XBLOCK', 'YBLOCK')]

  coordinates(xy_coords) <- c('XBLOCK', 'YBLOCK')

  # NAD83, maryland state plane, units in meters
  proj4string(xy_coords) <- CRS("+init=esri:102285")
  # Transform to latitude and longitude for GPS
  xy_coords <- spTransform(xy_coords, CRS("+init=epsg:4326"))

  xy_coords <- as.data.frame(xy_coords)
  names(xy_coords) <- c('longitude', 'latitude')

  crime_data <- cbind(crime_data, xy_coords)

  crime_data
}

私の記述ファイルは次のようになります。

Package: dccrimedata
Title: An R package containing DC crime data.
Description: Crime data from DC from 2006 to mid-2012
Version: 0.1
License: GPL-3
Author: erik.shilts
Maintainer: <erik.shilts@opower.com>
Depends:
    rgdal,sp
Collate:
    'calculate_latitude_and_longitude.R'
    'clean_coordinates_XBLOCK.R'
    'clean_coordinates_YBLOCK.R'
    'clean_coordinates.R'
    'clean_crime_data.R'
    'load_crime_data_by_ward.R'
    'dccrimedata-package.R'

アップデート:

名前に「経度」が含まれるファイルへの変更を分離しました(「緯度」は正常に機能します)。このレポの .Rbuildignore ファイルは次のようになります。

.git
.Rhistory
.Rcheck
\.tar\.gz$
out

のピリオドをエスケープしていないことに気付くでしょう。.gitこれにより、「Xgit」を含むファイル (X は任意の文字) が無視され、ファイル「calculate_latitude_and_lon* git *ude.R」が無視されます。

4

1 に答える 1