作者gsuper (統計的巴比倫塔)
看板Statistics
標題[程式] 如何將矩陣中的 rows 作 unique 化 ?
時間Fri May 20 14:18:37 2011
請問是否能有function能將
A C 1
A C 1
B D 2
變成
A C 1
B D 2
因為我資料有點大
想找效率高的函式做這件事情
-------------------------------------
DATA <- unique(apply(DATA,1,paste,collapse="_"))
DATA <- unlist(strsplit(DATA,split="_"))
DATA <- t(matrix(DATA,nrow=3))
目前是寫這樣
感覺很醜
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.239.247
※ 編輯: gsuper 來自: 140.113.239.247 (05/20 14:55)
1F:→ diplazium:換個做法看看看: 05/20 16:48
2F:→ diplazium:data$str=paste(data[,1],data[,2],data[,3],sep='-') 05/20 16:48
3F:→ diplazium:data.new=data[!duplicated(data$str),] 05/20 16:49
4F:推 bugle:unique(DATA) 05/20 17:02
5F:推 diplazium:b大是對的,小弟從未想過unique也可用在多維資料上 05/20 17:53
直接用 unique 太變態了 XD
※ 編輯: gsuper 來自: 140.113.239.247 (05/20 18:01)
補一下測試結果
>DATA
[,1] [,2] [,3]
[1,] 1 1 2
[2,] 1 1 2
[3,] 1 1 2
>unique(DATA)
[,1] [,2] [,3]
[1,] 1 1 2
>unique(DATA,
MARGIN=2)
[,1] [,2]
[1,] 1 2
[2,] 1 2
[3,] 1 2
※ 編輯: gsuper 來自: 140.113.239.247 (05/23 10:21)