outer
位於 base
包(package)。 說明
數組 X
和 Y
的外積是數組 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 |
在外部產品上使用的函數,通過 |
... |
要傳遞給 |
細節
X
和 Y
必須是 FUN
的合適參數。在調用 FUN
之前,每個值都將由 rep
擴展,以延長 X
和 Y
的長度的乘積。
使用這兩個擴展向量作為參數(加上 ...
中的任何參數)調用 FUN
。它必須是一個向量化函數(或一個函數的名稱),需要至少兩個參數並返回與第一個(和第二個)長度相同的值。
如果它們存在,X
和 Y
的 [dim] 名稱將被複製到答案中,並分配一個維度,該維度是 X
和 Y
維度的串聯(如果維度不存在,則為長度)存在)。
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
基於outer
; Vectorize
用於向量化非向量化函數。
相關用法
- R options 選項設置
- R on.exit 函數退出代碼
- R octmode 以八進製顯示的整數
- R order 排序排列
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 將文本推回連接
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R invisible 將打印模式更改為不可見
- R noquote “無引號”字符串打印類
- R warning 警告信息
- R rapply 遞歸地將函數應用於列表
- R basename 操作文件路徑
- R with 評估數據環境中的表達式
- R formals 訪問和操縱形式參數
- R icuSetCollate 按 ICU 設置整理
- R search 給出 R 對象的搜索路徑
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Outer Product of Arrays。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。