作者andrew43 (讨厌有好心推文後删文者)
看板R_Language
标题[问题] 取矩阵的非对角线元素之组合名称
时间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 是可以达成,但我想应该有更乾净的办法。
--
http://apansharing.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.37.172
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/R_Language/M.1399025671.A.44D.html
1F:→ clickhere:cbind(rownames(M)[c(2:5,3:5,4:5,5)],rep(colnames(M), 05/02 20:48
2F:→ clickhere:,c(4,3,2,1)) 05/02 20:49
3F:→ clickhere:paste by row with sep="-" 05/02 20:49