我需要一些R代码的帮助。
我有一个数据框,让我们说它看起来像这样:
___ | c1 ... c2 ... c3 ... c4 ... c5
r1_ | 1 ...... 2 ...... 3 ..... 4 ..... 5
r2_ | 1 ...... 3 ...... 5 ..... 4 ..... 5
r3_ | 4 ...... 2 ...... 1 ..... 1 ..... 2
r4_ | 1 ...... 2 ...... 3 ..... 4 ..... 5
r5_ | 3 ...... 3 ...... 4 ..... 2 ..... 1
我需要进行'相似性检查'。 它是如何完成的,我需要运行一个循环,它遍历每一行的每个元素,并将它与每隔一行的每个其他对应元素进行比较。所以这意味着,我想让循环检查这样的每个响应并给我一个布尔值T(rue)或F(alse):
[r1,c1] == [r1,c1]
[r1,c1] == [r2,c1]
[r1,c1] == [r3,c1]
[r1,c1] == [r4,c1]
[r1,c1] == [r5,c1]
此时的循环完成了对c1的所有元素的检查[r1,c1](包括它自身,这是不必要的)。在比较[r1,c1]之后,我希望循环转到[r1,c2]并将其与c2的所有元素进行比较。像这样我希望将r1的所有元素与它们所有相应的行元素进行比较。 控制台输出看起来像这样:
T ..... T ...... T ..... T ..... T
T ..... F ...... F ..... T ..... T
F ..... T ..... F ...... F ..... F
Ť..... .....ŤŤ..... .....ŤŤ
˚F..... .....˚F.....˚F.....˚F˚F
现在这只是[r1,]与[r1,],[r2,],[r3,],[r4,]和[r5,]的比较。比较[r1,]之后的循环应该转到[r2,]并以相同的方式与[r3,],[r4,]和[r5,]进行比较,然后将[r3]与[r4,]和[r5]进行比较,等等。
最后,我将获得一个包含Trues和Falses的矩阵,它将向我展示每个调查与其他调查的相似性。然后我会接受(每行的数字'T'并除以列数)* 100.这将告诉我调查与另一行的相似程度。
TIA:)
另外, 有没有更简单的方法来插入表来更好地解释问题?这是我的第一个问题,希望我没有浪费时间输入所有那些“。”
答案 0 :(得分:0)
使用将列的第一个元素与列的其余部分进行比较的函数对列进行应用函数可以完成...
{{1}}