У меня есть взвешенная матрица смежности, как показано ниже:
adj<-read.table(text=" a_fgh c_dfg l_opu
a_fgh 0 3.3 5.6
c_dfg 3.3 0 8.5
l_opu 5.6 8.5 0",
header=TRUE)
adjMat<-as.matrix(adj)
У меня также есть таблица, которая выглядит следующим образом:
table<-read.table(text="name1 name2 (3,4.5) (4.5,6) (6,7.5) (7.5,9)
fgh_a opu_l 10 -31 75 -69
fgh_a dfg_c 45 60 30 33 38
dfg_c opu_p 75 57 40 22 -63
opu_l dfg_c -69 -56 78 96 78
",
header=TRUE)
Я хочу изменить вес моей матрицы смежности в соответствии с верхней таблицей. Например, a_fgh взаимодействует с l_opu, и его вес равен 5.6.
Однако в соответствии с таблицей значение веса ребра между a_fgh
и l_opu
, если находится в диапазоне от 4,5 до 6, должно быть -6. При этом матрица смежности будет такой:
adj2<-read.table(text=" a_fgh c_dfg l_opu
a_fgh 0 60 -6
c_dfg 60 0 8.5
l_opu -6 78 0",
header=TRUE)
adjMat2<-as.matrix(adj)