R 在参数的成对组合上应用函数
我对R不太熟悉,所以这个问题可能已经得到了回答,但我可能无法理解答案,因此任何指向其他线程的链接都会有所帮助 我正在寻找一种方法,基本上实现c程序的R等价物R 在参数的成对组合上应用函数,r,mapply,R,Mapply,我对R不太熟悉,所以这个问题可能已经得到了回答,但我可能无法理解答案,因此任何指向其他线程的链接都会有所帮助 我正在寻找一种方法,基本上实现c程序的R等价物 for(int i = 0; i < 12; i++){ for(int j = 0; j < 9; j++){ arr[i][j] = func(i+1,j+1); } } for(int i=0;i
for(int i = 0; i < 12; i++){
for(int j = 0; j < 9; j++){
arr[i][j] = func(i+1,j+1);
}
}
for(int i=0;i<12;i++){
对于(int j=0;j<9;j++){
arr[i][j]=func(i+1,j+1);
}
}
我试过了
x <- mapply(func, 1:12, 1:9)
x这行吗:outer(1:12,1:9,func)
如果没有,请使用矩阵(应用(展开网格(1:12,1:9),1,func),12,9)
背景:
expand.grid
将所有组合创建为数据框行。
t
转换结果,我将其作为data.frame
(t
返回一个令人烦恼的矩阵…即使应用于data.frame
s…)并且在其上非常有用。
由于sapply
将数据帧视为列值列表,因此我得到了数据帧内容的列式(实际上是行式-在应用t
transpose…)列表。这些实际行向量取自函数,应用于两个值的函数func
产生。所以在最后,我们把所有可能的两两组合输入函数(v)
sapply(data.frame(t(expand.grid(1:12, 1:9))), function(v) func(v[1], v[2]))