当前位置: 首页 > 知识库问答 >
问题:

如何根据元素的位置关联向量?

秦光启
2023-03-14

我有两个(最终更多)字符向量,它们由几个(有序的)名称组成。这类向量的两个例子是:

 [1] "original" "gai"      "dea"      "iap"      "hso"      "los"      "ret"      "dap"      "wor"      "agi"     
[11] "fat"      "con"      "dep"      "iso"      "int" 

 [1] "int"      "iso"      "dep"      "con"      "fat"      "agi"      "wor"      "dap"      "ret"      "los"     
[11] "hso"      "iap"      "dea"      "gai"      "original"

(可通过以下方式获得):

c("original", "gai", "dea", "iap", "hso", "los", "ret", "dap", 
"wor", "agi", "fat", "con", "dep", "iso", "int")

c("int", "iso", "dep", "con", "fat", "agi", "wor", "dap", "ret", 
"los", "hso", "iap", "dea", "gai", "original")

现在我想根据元素的位置计算这两个字符向量之间的相关性。例如,在第一个向量中,元素“原始”的位置为1,但在第二个向量中,它的位置为14。

我该怎么办?

提前谢谢!

共有3个答案

邓鸿彩
2023-03-14

我想你可以简单地用match。

v1 <- c("original", "gai", "dea", "iap", "hso", "los", "ret", "dap", 
        "wor", "agi", "fat", "con", "dep", "iso", "int")
v2 <- c("int", "iso", "dep", "con", "fat", "agi", "wor", "dap", "ret", 
        "los", "hso", "iap", "dea", "gai", "original")

data.frame(v1 = v1, pos1 = 1:length(v1), pos2 =  match(v1, v2)) %>% 
  summarise(corr = cor(pos1, pos2))

虽然不确定这种相关性意味着什么...

太叔鹏云
2023-03-14

我不确定这是否是你的意思:

> r <- data.frame(pos = seq_along(x1), posinX2 = match(x1,x2))
> r
   pos posinX2
1    1      15
2    2      14
3    3      13
4    4      12
5    5      11
6    6      10
7    7       9
8    8       8
9    9       7
10  10       6
11  11       5
12  12       4
13  13       3
14  14       2
15  15       1

数据

x1 <- c("original", "gai", "dea", "iap", "hso", "los", "ret", "dap", 
        "wor", "agi", "fat", "con", "dep", "iso", "int")
x2 <- c("int", "iso", "dep", "con", "fat", "agi", "wor", "dap", "ret", 
        "los", "hso", "iap", "dea", "gai", "original")
杨星纬
2023-03-14
a <- c("original", "gai", "dea", "iap", "hso", "los", "ret", "dap", 
       "wor", "agi", "fat", "con", "dep", "iso", "int")

# numeric representation
a_num <- seq(a)

b <- c("int", "iso", "dep", "con", "fat", "agi", "wor", "dap", "ret", 
       "los", "hso", "iap", "dea", "gai", "original")

# numeric representation 
b_num <- match(a,b)
# -------------------------------------------------------------------------
# eye ball the relationship
plot(a_num, b_num, type = "l", col="red", xlab = "a", ylab = "b")

# -------------------------------------------------------------------------

您可以看到负相关,并且可以进一步计算Kendall的秩相关tau以拒绝/接受null,如下所示:

# use method kendall
cor.test(a_num,b_num, method="kendall") 
# Kendall's rank correlation tau
# 
# data:  a_num and b_num
# T = 0, p-value = 1.529e-12
# alternative hypothesis: true tau is not equal to 0
# sample estimates:
# tau 
#  -1 

参见?cor.test了解更多信息。这只是为了让你开始,如果你的数据有关联,kendall也会处理,但你需要知道/阅读如何做到这一点。

 类似资料:
  • 我需要正确地(没有硬代码)定位h1元素使用网格,css或Flex。所有这些元素都存储在大小相等的列中。在一行中。当屏幕变小时,我需要将element1和element2放在h1测试的下面。任务的细节不允许在css中为各种屏幕扩展使用@media。因此,我在这里写作,因为我不明白如何做到这一点。 我需要元素的这个位置

  • 本文向大家介绍XAML如何获取元素的位置,包括了XAML如何获取元素的位置的使用技巧和注意事项,需要的朋友参考一下 在之前讨论 ListView 滚动相关需求的文章中(UWP: ListView 中与滚动有关的两个需求的实现)曾经提到了获取元素相对位置的方法,即某元素相对另一元素的位置。现将所有相关方法再作整理,并且包括 UWP 与 WPF 两者的实现,如下: WPF(两种方式): UWP:  这

  • 问题内容: 使用jQuery,您将如何查找具有特定样式(例如)的元素,而不管它是内联样式还是CSS文件中定义的样式? 问题答案: 使用过滤功能: 将“ *”替换为适合您的情况的选择器。

  • 问题内容: 我有一个表格,其中包含有关 民事和劳工* 两类人员可以完成的不同类型事件的信息 * 所以对于他们每个人,我都有各自的表格 然后事件表会列出所有可能的事件 然后我打算将信息存储在其他表中 具有eventype的人,从事这项工作的人(工人或公民) 现在在这个设计中,如果我只有一种人(又称“平民”),我不知道如何与谁完成工作相关联,而我只会在最后一张表中将“ civil_id”存储在“人”字

  • 问题内容: 我在将属性设置为的元素居中时遇到问题。有谁知道为什么图像没有居中? 问题答案: 如果设置了宽度,则可以使用:

  • 我正在尝试根据从webservice读取的数据设置ListView元素。我使用线程与Web服务通信。我从Web服务获取数据,但当我尝试将适配器设置为listView时,发生了致命的异常。这可能是什么原因?这是我的代码: 第一部分初始化listView: 第二部分(可运行线程内的getData方法): 和我的LogCat: 通用域名格式。实例实例CardChooseActivity$1。运行(Car