當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R outer 數組的外積


R語言 outer 位於 base 包(package)。

說明

數組 XY 的外積是數組 A,其維度為 c(dim(X), dim(Y)),其中元素 A[c(arrayindex.x, arrayindex.y)] = FUN(X[arrayindex.x], Y[arrayindex.y], ...)

用法

outer(X, Y, FUN = "*", ...)
X %o% Y

參數

X, Y

函數 FUN 的第一個和第二個參數。通常是向量或數組。

FUN

在外部產品上使用的函數,通過 match.fun 找到(特殊情況 "*" 除外)。

...

要傳遞給 FUN 的可選參數。

細節

XY 必須是 FUN 的合適參數。在調用 FUN 之前,每個值都將由 rep 擴展,以延長 XY 的長度的乘積。

使用這兩個擴展向量作為參數(加上 ... 中的任何參數)調用 FUN 。它必須是一個向量化函數(或一個函數的名稱),需要至少兩個參數並返回與第一個(和第二個)長度相同的值。

如果它們存在,XY 的 [dim] 名稱將被複製到答案中,並分配一個維度,該維度是 XY 維度的串聯(如果維度不存在,則為長度)存在)。

FUN = "*" 通過 as.vector(X) %*% t(as.vector(Y)) 作為特殊情況處理,並且僅適用於數值向量和數組。

%o% 是二元運算符,為 outer(x, y, "*") 提供包裝器。

例子

x <- 1:9; names(x) <- x
# Multiplication & Power Tables
x %o% x
y <- 2:8; names(y) <- paste(y,":", sep = "")
outer(y, x, `^`)

outer(month.abb, 1999:2003, FUN = paste)

## three way multiplication table:
x %o% x %o% y[1:3]

作者

Jonathan Rougier

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

%*% 用於通常(內部)矩陣向量乘法; kronecker 基於outerVectorize 用於向量化非向量化函數。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Outer Product of Arrays。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。