Hen*_*enk 14 r data.table
我有一个函数来从data.table中删除空列,并将其包含在一个包中.
不知何故,当我加载函数时,它可以工作,但是当我从包中调用它时,它不起作用.问题:当我从包中调用它时,为什么不运行此函数?
包中的任何函数都没有require(data.table)或库(data.table).DESCRIPTION文件包含:Imports:data.table.所以在我自己的包中使用data.table包是满意的.
library(data.table)
df = data.table(a = c(1,2,3), b = c(NA, NA, NA), c = c(4,5,6))
library(cr360)
remove.emptycols(df) # from package
Error in .subset(x, j) : invalid subscript type 'list'
# now open function from mypackage and run again:
# source("./mypackage/R/fun_remove_emptycols.R")
remove.emptycols(df)
a c
1: 1 4
2: 2 5
3: 3 6
Run Code Online (Sandbox Code Playgroud)
功能:
#' Remove empty columns
#'
#' Counts the number of NA values in the columns and counts the number of rows.
#' @param df
#' @return df data.table with empty columns removed.
#' @export
#'
#'
remove.emptycols = function(df) {
count.colNA = df[,lapply(.SD, function(x) sum(is.na(x)))]
df = df[,which(count.colNA != nrow(df)),with = FALSE]
return(df)
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*wle 14
文本
import(data.table)
需要在空间文件以及 data.table
在被Imports:
在说明字段字段.我编辑了链接的问题并更新了常见问题6.9.
在我自己的包中使用data.table包
另外,在RStudio中要注意"使用Roxygen构建NAMESPACE文件"选项并查看:
roxygen2是否会自动为"Imports:"包编写NAMESPACE指令?
以前的红鲱鱼为后代保留......
不确定,但包装的描述包含:
...
Version: 1.0
Date: 2014-06-23
Imports:
data.table
Author: Henk
Description: utility functions
...
Run Code Online (Sandbox Code Playgroud)
尝试删除换行符,而不是:
...
Version: 1.0
Date: 2014-06-23
Imports: data.table
Author: Henk
Description: utility functions
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1183 次 |
最近记录: |