如果函数将数据帧作为其参数之一,是否可以对其进行矢量化?我有一个自定义函数,它采用下列参数:向量化需要数据帧的R函数
a.function<- function(a=c(),
b=data.frame(),
c=data.frame(),
d="",
e="",
f=data.frame()) {
...
}
是否有一个数据结构,我可以用这将允许我使用的*apply
功能之一,这样我就可以同时对多个变量运行功能?
编辑:下面是一个例子,我目前如何运行代码:
a <- c(1000,2000,1000)
b <- data.frame(type=c('string1',
'string2',
'string3'),
value=c(2500,4000,3500),
difference=c(0,30,0))
c <- data.frame(pd=4,
gu=100)
d <- 'string4'
e <- 8
test <- a.function(a, b, c, d, e)
# test is a 1x3 character matrix
> test
[1] "44537" "0.1" "B"
总之,a
,b
,c
,d
和e
描述一个组,我跑a.function
我希望能够定义许多这样的组,然后在所有这些组上同时运行a.function
。我意识到我可能需要大量重构代码;没关系。谢谢!
答案是肯定的。具体情况取决于你澄清你想要矢量化的东西。请发表一个例子,因为目前没有办法回答这个问题。 – 2012-02-17 14:17:32
@ gsk3 - 谢谢,我用一个通用示例更新了这篇文章。不幸的是,由于该模型是专有的,我可以发布的内容有限。请让我知道你是否需要更多细节。 – eykanal 2012-02-17 14:47:54
@eykanal:我认为@ gsk3希望看到的是你想要应用哪些数据框,所以用'sin'或'paste'替换专有函数。 – 2012-02-17 15:35:19