Re: [問題] 取矩陣的非對角線元素之組合名稱

作者: HeroNoah   2014-05-03 01:28:58
x = outer(
colnames(M),
rownames(M),
paste,
sep = "-"
)
x[lower.tri(x)]
an = Row indexes of lower triangular part of a Matrix.
bn = Column indexes of lower triangular part of a Matrix.
※ 引述《andrew43 (討厭有好心推文後刪文者)》之銘言:
: ※ 引述《andrew43 (討厭有好心推文後刪文者)》之銘言:
: : 標題: [問題] 取矩陣的非對角線元素之組合名稱
: : 時間: Fri May 2 18:14:28 2014
: : [問題類型]:
: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: : [軟體熟悉度]:
: : 使用者(已經有用R 做過不少作品)
: : [問題敘述]:
: : 對於具有 colnames 和 rownames 的一個 matrix,
: : 該如何取得所有非對角線元素的 colnames 和 rownames 的組合的字串向量?
: : [程式範例]:
: : M <- matrix(1:25, 5)
: : colnames(M) <- c("a","b","c","d","e")
: : rownames(M) <- c("a","b","c","d","e")
: : 可得到 M
: : # a b c d e
: : #a 1 6 11 16 21
: : #b 2 7 12 17 22
: : #c 3 8 13 18 23
: : #d 4 9 14 19 24
: : #e 5 10 15 20 25
: : 接下來,我想取得一個字串向量 mynames 使其結果為
: : c("b-a" , "c-a", "d-a", "e-a", "c-b", ... , "e-c", "e-d")
: : 也就是矩陣 M 的左下側非對角線元素的列名與欄名組合。
: : 請教有沒有什麼方式可以快速達成?
: : 用 loop 是可以達成,但我想應該有更乾淨的辦法。
: :
作者: andrew43 (討厭有好心推文後刪文者)   2014-05-03 01:43:00
非常謝謝。看來就是需要 outer() 沒錯。

Links booklink

Contact Us: admin [ a t ] ucptt.com