小编Oze*_*uss的帖子

使用grep从data.table中对行进行子集化,比较行内容

DT <- data.table(num=c("20031111","1112003","23423","2222004"),y=c("2003","2003","2003","2004"))

> DT
    num    y
1: 20031111 2003
2:  1112003 2003
3:    23423 2003
4:  2222004 2004
Run Code Online (Sandbox Code Playgroud)

我想比较两个单元格内容,并根据布尔值执行操作.例如,如果"num"与年份匹配,则创建一个包含该值的列x.我考虑过基于grep的子集化,这是有效的,但每次都会自然检查整个列,这看起来很浪费

DT[grep(y,num)] # works with a pattern>1 warning
Run Code Online (Sandbox Code Playgroud)

我可以申请()我的方式,但也许有一个data.table方式?

谢谢

grep r string-matching data.table

2
推荐指数
1
解决办法
1506
查看次数

引用本地 R 包中的其他函数

我正在编写一个打算用于分析的本地包(而不是像现在一样使用脚本)。我在理解 R 的这种获取/范围界定方式时遇到了一些困难。假设我有一个 R/some_functions.R 文件,其中包含:

#' function a
#' @export
a <- function(a) {
  print(a)
}

#' function b, not exporting
b <- function(b) {
  print(b)
}

#' function c
cc <- function() {
  a("cat") # will run
  b("dog") # will not run, can't find function.
}
Run Code Online (Sandbox Code Playgroud)

我知道当我安装/加载包时,可以通过 NAMESPACE 访问函数“a”,但我仍然希望函数“b”在内部可用。由于我是该包的唯一预期用户,我可以导出所有内容,但我想知道正确的方法。只是出口?采购?使用 devtools::load_all?

编辑:通过虚拟代码还不够好。修改了它。我认为我的误解的根源在于我期望附加代码,但事实显然并非如此。

r

1
推荐指数
1
解决办法
1131
查看次数

标签 统计

r ×2

data.table ×1

grep ×1

string-matching ×1