如果函數將數據幀作爲其參數之一,是否可以對其進行矢量化?我有一個自定義函數,它採用下列參數:向量化需要數據幀的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