我想将3到10.5的间隔分成4个连续的箱子。然后,我想将它们用作列名,并将一些数字设置为这些列的值,如下所示:
df<-read.table(text="name1 name2 (3,4.5) (4.5,6) (6,7.5) (7.5,9) (9,10.5)
a_fgh l_opu 10 -31 75 50 -69
c_dfg a_fgh 45 60 30 33 38
p_opu c_dfg 75 57 40 22 -63
l_opu c_dfg -69 -56 78 96 78
",
header=TRUE, check.names = FALSE,row.names = NULL)
在下一步中,我想使用这些值来更改另一个矩阵的值,如下所示。
mat<-read.table(text=" a_fgh c_dfg l_opu
a_fgh 0 3.5 7
c_dfg 3.5 0 8.5
l_opu 7 8.5 0",
header=TRUE)
mat2<-as.matrix(mat)
在这种情况下,a_fgh和l_opu之间的值等于7,而bin的值介于(6,7.5)之间,但是根据它的df,前两列应该是-69,所以矩阵的值应更改为-69。所以期望的输出将是这样的:
a_fgh c_dfg l_opu
a_fgh 0 45 75
c_dfg 45 0 96
l_opu 75 96 0
有什么想法吗?我根本不知道该怎么做。