问题描述
我在分析某些鲨鱼运动数据的过程中急需帮助。我的问题有点复杂,所以我会尽量通俗易懂地解释一下。我有一个很大的鲨鱼运动数据集,从中我能够基于群体方法的步调生成一个关联矩阵。简单来说,我使用 GPS 位置生成了一个矩阵,该矩阵基于不同个体之间可能发生的空间交互。为此,我使用以下代码:
##group column generated by spatsoc::group_pts##
gbiMtrx <- get_gbi(DT,group = 'group',id = 'transmitter_id')
net <- get_network(gbiMtrx,data_format = "GBI",association_index = "SRI") # association index = Simple Ratio Index
network<-net
network
在代码中,每条鲨鱼都被标记了一个传输器 ID,然后用作矩阵的参考。制作关联矩阵后,我从矩阵中创建了一个数据框,其中包含个体之间的不同交互。我使用了一个方程来展平矩阵:
lattenCorrMatrix <- function(cormat) {
ut <- upper.tri(cormat)
data.frame(
ID1 = rownames(cormat)[row(cormat)[ut]],ID2 = rownames(cormat)[col(cormat)[ut]],association_values =(cormat)[ut]
)
直到现在一切都很好,我设法创建了一个数据框,id为shark1,id为shark2,以及它们各自的关联值。现在我想将每个交互来自的不同位置添加到数据框中。在我的原始数据中,我在不同区域放置了站点,这些站点负责记录鲨鱼的位置。如果只在一个站中发现每条鲨鱼,我会知道如何将站属性添加为额外的列。问题是鲨鱼在不同的时间出现在不同的地点。所以我的问题是,如果我从矩阵中得到的只是涉及鲨鱼的 ID 和两个个体之间各自的关联值,我如何找到哪个站记录了交互?
我知道这是一个有点复杂的解释,我希望它是有道理的。直到现在我都没有写任何代码,因为我不知道从哪里解决这个问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)