全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
8567 42
2013-11-25
大家好,我手里有一个矩阵, 原始数据

想计算两个人是否毕业于同一个学校。
最后的结果应该是
用户1

用户2

是否毕业于同一学校

A

B

A

C

B

C

用R该怎么写?多谢~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-11-25 17:21:44
这是mysql的专长,用R做不太合适,速度慢,内存消耗高
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 18:08:04
nuomin 发表于 2013-11-25 17:21
这是mysql的专长,用R做不太合适,速度慢,内存消耗高
哦,多谢。我写的循环
n <- length(y <- matrix(x[,1]))
y <- matrix(0,nrow=3,ncol=3)
for (i in (1:(n-1))) {
for (j in (1:(n-i))){
  relation <- length(intersect(x[i,2],x[i+j,2]))/length(union(x[i,2],x[i+j,2]))
  #print (x[n,2])
print(x[i,1])
print(x[i+j,1])
print(relation)
}
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 18:48:34
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-26 09:39:55
qoiqpwqr 发表于 2013-11-25 18:48
谢谢,写得太专业了,感觉我的思维还没有转到R上面来
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-26 23:22:15
感觉可以不用循环
尝试了下, 过程比较狗血
其想法是把 school 数字化factor(且对于ID),A和T(A),相乘变矩阵,矩阵的列可以理解为school或者ID,行也是school或者ID,如果同校数值相同,则sqrt(此矩阵)为school的数值(某整数)。此时取矩阵的对角线下部分整数即可,并得到坐标,从而找到对应的ID。
而在sqrt()时,2*2,3*3,4*4,,,同校,但要避免1*4,2*8这类的数sqrt()也为整数,但并不同校,可采取 数值-0.1的变通下,sqrt(..-0.1)+0.1...
复制代码
命名、细节有些糙  有补充的吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群