作者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)