[程式] R 列包含問題!?

看板Statistics作者 (廣廣)時間13年前 (2012/10/20 15:15), 編輯推噓1(108)
留言9則, 5人參與, 最新討論串1/1
[軟體程式類別]: R [程式問題]: 尋找列的位子 [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 請問各位大大,比如說 有個1~6所有可能的排列矩陣,也就是720*6的矩陣: 1 2 3 4 5 6 1 2 3 4 6 5 ... .. . 6 5 4 3 2 1 現在有一個6元素向量,例:5 4 6 3 1 2 我想要找到5 4 6 3 1 2 是在這個720*6矩陣的第幾列 除了用迴圈尋找之外 有沒有比較快的方式或指令? 謝謝各位大大! ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.58.228

10/20 17:19, , 1F
vec <- c(5,4,6,3,1,2)
10/20 17:19, 1F

10/20 17:19, , 2F
apply(你的矩陣,1,function(tmp){sum(tmp!=vec)==0})
10/20 17:19, 2F

10/20 22:59, , 3F
which((x-matrix(c(5,4,6,3,1,2),nrow=720,ncol=9,by
10/20 22:59, 3F

10/20 22:59, , 4F
row=T))==0,arr.ind=T)[1]
10/20 22:59, 4F

10/21 20:01, , 5F
謝謝大大,以上都可行!那有辦法一次找兩列以上的位置嗎?
10/21 20:01, 5F

10/21 20:03, , 6F
回圈 , 改 vec 的參數
10/21 20:03, 6F

10/22 13:06, , 7F
寫成function形式 改input
10/22 13:06, 7F

10/22 22:00, , 8F
which(colSum(t(x)==c(5,4,6,3,1,2))>=2)
10/22 22:00, 8F

10/22 22:00, , 9F
x is your matrix
10/22 22:00, 9F
文章代碼(AID): #1GWa-MPV (Statistics)