小编Flo*_* Bw的帖子

S4丢失或方法的NULL参数?

有没有办法定义方法的参数缺失或NULL时会发生什么?

在下面的例子中,无论是键入foo()还是键入,我都想调用相同的函数foo(NULL).当然我知道我可以有一个方法,setMethod("foo","NULL",function(x) foo()) 但那是代码复制和可能的错误来源.

谢谢!

setGeneric("foo",function(x) standardGeneric("foo"))
setMethod("foo","numeric",function(x) "numeric")
setMethod("foo","NULL",function(x) "NULL")
setMethod("foo","missing",function(x) "missing")

R> foo(1)
[1] "numeric"
R> foo()
[1] "missing"
R> foo(NULL)
[1] "NULL"
Run Code Online (Sandbox Code Playgroud)

r s4

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

通过函数将子集参数传递给子集

我想有一个函数调用subset,并传递一个subset参数:

df <- data.frame(abc=c("A","A","B","B"),value=1:4)
subset(df,abc=="A")
## works of course:
#  abc value
#1   A     1
#2   A     2

mysubset <- function(df,ssubset)
  subset(df,ssubset)

mysubset(df,abc=="A")
## Throws an error
# Error in eval(expr, envir, enclos) : object 'abc' not found

mysubset2 <- function(df,ssubset)
  subset(df,eval(ssubset))

mysubset2(df,expression(abc=="A"))
## Works, but needs expression
Run Code Online (Sandbox Code Playgroud)

我尝试过substitute,但无法找到合适的组合.我怎样才能使这个工作?

r subset

4
推荐指数
2
解决办法
4306
查看次数

R:合并矩阵(不是data.frames)

merge是一个非常好的函数:它合并矩阵和data.frames,并返回data.frame.

拥有相当大的字符矩阵,还有另一种合并的好方法 - 没有data.frame转换吗?


注释1:将命名向量与矩阵或data.frame合并的小函数.矢量元素可以链接到矩阵中的多个条目:

expand <- function(v,m,by.m,v.name='v',...) {
  df <- do.call(rbind,lapply(names(v),function(x) {
    pos <- which(m[,by.m] %in% v[x])
    cbind(x,m[pos,],...)
  }))
  colnames(df)[1] <- v.name
  df
}
Run Code Online (Sandbox Code Playgroud)

例:

v <- rep(letters,each=3)[seq_along(letters)]
names(v) <- letters
m <- data.frame(a=unique(v),b=seq_along(unique(v)),stringsAsFactors=F)
expand(v,m,'a')
Run Code Online (Sandbox Code Playgroud)

r

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

使用ghostscript检查PDF是否具有透明对象

PDF可以在几个部分中定义透明度(参见此处):

作为图形样式属性:

  • 将opacity(/ca)或stroke opacities(/CA)填充到1.0以下
  • 软面具的定义(\SMask)

或者使用透明度页面组(/S /Transparency)的定义.

以下grep表达式是对此的快速(和脏)检查:

grep -aE -e '/[Cc][Aa] +0?\.[0-9]' -e '/SMask' -e '/S /Transparency' *.pdf
Run Code Online (Sandbox Code Playgroud)

是否可以检查是否有透明物体gs

pdf transparency ghostscript pdf-parsing

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

标签 统计

r ×3

ghostscript ×1

pdf ×1

pdf-parsing ×1

s4 ×1

subset ×1

transparency ×1