从 data.frame 创建具有三列的相异矩阵
Create dissimilarity matrix from data.frame with three columns
此 data.frame
包含两个社区 comm1
和 comm2
之间的差异 y
。我想将其转换为 dist
.
类型的相异矩阵
library(tidyverse)
library(RcppAlgos)
k<-10
comm_code<-seq(1,k,by=1)
data<-comboGrid(comm_code,comm_code, repetition = F)
data<-data.frame(data)
data<- data %>% rename(comm1=Var1,comm2=Var2)
rm(comm_code,k)
data$y<-rnorm(nrow(data),10,2)
我该怎么做?
谢谢
您实际上可以自己创建它:
structure(data$y, Size = 10, Labels = 1:10, method = "user", class = "dist")
1 2 3 4 5 6 7 8 9
2 12.253872
3 9.609795 9.053038
4 11.218275 8.893657 11.363967
5 8.933017 10.775817 10.900534 6.272734
6 8.862755 11.961004 14.079231 12.244758 10.079188
7 8.002884 12.009199 10.015648 14.295683 12.754016 7.623887
8 12.464341 8.174952 11.684419 11.243689 13.950215 13.118307 10.433698
9 10.230285 9.020911 9.105817 11.061137 9.250890 6.634516 8.297935 9.577125
10 8.291082 8.067096 11.114652 8.922511 11.419875 8.497445 10.100889 9.789253 7.591539
或使用 igraph
库:
library(igraph)
d <- graph.data.frame(data, directed = FALSE)
dist(get.adjacency(d, attr = "y", sparse = T), diag = T)
此 data.frame
包含两个社区 comm1
和 comm2
之间的差异 y
。我想将其转换为 dist
.
library(tidyverse)
library(RcppAlgos)
k<-10
comm_code<-seq(1,k,by=1)
data<-comboGrid(comm_code,comm_code, repetition = F)
data<-data.frame(data)
data<- data %>% rename(comm1=Var1,comm2=Var2)
rm(comm_code,k)
data$y<-rnorm(nrow(data),10,2)
我该怎么做?
谢谢
您实际上可以自己创建它:
structure(data$y, Size = 10, Labels = 1:10, method = "user", class = "dist")
1 2 3 4 5 6 7 8 9
2 12.253872
3 9.609795 9.053038
4 11.218275 8.893657 11.363967
5 8.933017 10.775817 10.900534 6.272734
6 8.862755 11.961004 14.079231 12.244758 10.079188
7 8.002884 12.009199 10.015648 14.295683 12.754016 7.623887
8 12.464341 8.174952 11.684419 11.243689 13.950215 13.118307 10.433698
9 10.230285 9.020911 9.105817 11.061137 9.250890 6.634516 8.297935 9.577125
10 8.291082 8.067096 11.114652 8.922511 11.419875 8.497445 10.100889 9.789253 7.591539
或使用 igraph
库:
library(igraph)
d <- graph.data.frame(data, directed = FALSE)
dist(get.adjacency(d, attr = "y", sparse = T), diag = T)