изменение значения матрицы в соответствии с интервалами кадра данных - PullRequest
0 голосов
/ 09 мая 2018

Я хочу сделать интервал от 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, а в отношении бина - между (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

Есть идеи по этому поводу? Я вообще не знаю, что делать.

...