Поиск значения матрицы на основе двух значений столбца в R - PullRequest
0 голосов
/ 04 марта 2020

У меня есть два набора данных: фрейм данных и матрица. Я пытаюсь добавить столбец данных, который ищет значение в матрице, используя значения в двух других столбцах в качестве значений поиска матрицы. Код, который я пытаюсь использовать для создания этого нового столбца, выглядит следующим образом:

df$value <- matrix1[df$ID, df$question]

Для каждой строки в df, $ID содержит имя строки для значения матрицы, которое Я пытаюсь найти, в то время как столбец $question содержит имя столбца для значения, которое я хочу найти в матрице. Всякий раз, когда я запускаю этот код, я получаю сообщение об ошибке

Ошибка в matrix1 [df $ ID, df $ question]: нижний индекс вне границ

Поиск вручную значения в моей матрице, используя значения ячеек, т.е. (matrix1[x,y]) работает. И это также работает, если я сохраняю ссылку на строку и вручную ссылаюсь на столбец, т.е. (matrix1[df$ID, y]. У меня проблемы с пониманием, почему синтаксис координат будет работать для одной оси, но не для другой. (Примечание: у меня столбцов гораздо больше, чем наблюдений). У меня есть ощущение, что это связано с итерацией R, и я думаю, что это должна быть полная симметричная c матрица всех возможных комбинаций.

Кто-нибудь знает, как я мог go об исправлении моего код или совершенно другой способ создания столбца, который ссылается на конкретное c значение матрицы?

...