首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中,当有三列时,如何找到行间唯一的数字对?

在R中,当有三列时,如何找到行间唯一的数字对?
EN

Stack Overflow用户
提问于 2013-10-25 18:56:07
回答 1查看 228关注 0票数 0

我在R中处理三角网格,对于那些不熟悉的人来说,铺层格式有两个主要组成部分,顶点x,y,z坐标的3乘n矩阵,其中n是顶点数,以及3乘m个面矩阵,其中每个数引用顶点矩阵的一条线,因此定义了三角面的三个角。我试图找到网格边界边,这是三角形的“边”,只在脸矩阵中引用一次。

因此,我的问题是,如何在有三列的行之间找到唯一的数字对?

代码语言:javascript
复制
face 1 4 6 7
face 2 7 6 8
face 3 9 11 12 
face 4 10 9 12

这里一行(面)1的边缘4-7只出现一次,而6-7出现两次,9-12也是如此。unique()跨行工作,但查找唯一的行,并期望数字按相同的顺序排列。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 19:17:57

您要做的是对每对进行散列,然后生成散列表。您还希望(x,y)散列与(y,x)相同。

代码语言:javascript
复制
R>data
    V1 V2 V3 V4 V5
1 face  1  4  6  7
2 face  2  7  6  8
3 face  3  9 11 12
4 face  4 10  9 12
R>e1 <- pmin(data[3],  data[4]) + pmax(data[3], data[4])/100
R>e2 <- pmin(data[3],  data[5]) + pmax(data[3], data[5])/100
R>e3 <- pmin(data[4],  data[5]) + pmax(data[4], data[5])/100
R>table(c(e1,e2,e3, recursive=TRUE))
 4.06  4.07  6.07  6.08  7.08   9.1  9.11  9.12 10.12 11.12
    1     1     2     1     1     1     1     2     1     1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19597472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档