【发布时间】:2014-03-15 22:30:28
【问题描述】:
我想使用 apply 系列中的一个函数(在 R 中)将一个包含两个参数的函数应用于两个矩阵。我认为这是可能的。我对么?否则,我似乎必须将两个矩阵合二为一,并根据新矩阵重新定义我的函数。
这是我想做的一个例子:
a <- matrix(1:6,nrow = 3,ncol = 2)
b <- matrix(7:12,nrow = 3,ncol = 2)
foo <- function(vec1,vec2){
d <- sample(vec1,1)
f <- sample(vec2,1)
result <- c(d,f)
return(result)
}
我想将foo 申请到a 和b。
【问题讨论】:
-
请用您使用的语言标记您的问题。
-
糟糕,感谢您的提醒。
-
我不清楚您希望函数做什么以及如何将矩阵连接到函数的输入。你只是说你想从每个矩阵的每一行中获取一个样本吗?为什么需要同时对两个矩阵执行此操作?
-
或者您想从每一列中获取样本?请更新您的问题,以更清楚地说明您的实际期望。
-
你提出了一个很好的观点。我绝对可以让它成为一个参数的函数,并分别执行所需的操作,然后像我在
result中那样组合它们。出于我的实际目的,这已经足够了。但是,我正在努力变得更加精通 apply 系列,所以我仍然对我提出的问题的解决方案感兴趣。