[英]in R, using data.table package, how to do a subset with special variable(with space)
[英]R Package Build on Linux - special consideration for data.table in DESCRIPTION and NAMESPACE
如果我使用源代码,那么一切正常,但是当我创建包/函数时,它会给我一个错误。 我错过了什么吗?
测试包
测试 <- 函数(){
library("data.table")
dd <- mtcars
setDT(dd)
dd$cnt <- 1
eval(parse(text=paste0("dd <- unique(dd[,list(cnt, mpg, cyl)])")))
eval(parse(text=paste0("dd1 <- dd[order(mpg, cyl)]")))
print(dd1)
}
在 Linux 上使用 R CMD build 创建一个包
test |__R |__test.r |__DESCRIPTION |__NAMESPACE
R CMD 构建测试
R CMD INSTALL test_1.0.tar.gz
说明内容
Package: test Title: test Version: 1.0 Authors@R: person("xyz", "xyz", email = "xyz@xyz.com", role = c("aut", "cre")) Description: test Depends: R (>= 3.6.0) License: test Encoding: UTF-8 LazyData: true Imports: data.table
在 R 中使用函数
图书馆(“测试”)
测试()
得到如下错误
[.data.frame
(x, i, j) 中的错误:对象 'cnt' not fo
没有包的 R 代码,它正在工作
library("data.table")
dd <- mtcars
setDT(dd)
dd$cnt <- 1
eval(parse(text=paste0("dd <- unique(dd[,list(cnt, mpg, cyl)])")))
eval(parse(text=paste0("dd1 <- dd[order(mpg, cyl)]")))
print(dd1)
谢谢@Dirk Eddelbuettel。 你是对的,它奏效了。 我发现这个问题已经在 StackOverflow 上得到了回答,并且还提供了很好的文档。
https://cran.r-project.org/web/packages/data.table/vignettes/datatable-importing.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.