У меня есть два набора данных: фрейм данных и матрица. Я пытаюсь добавить столбец данных, который ищет значение в матрице, используя значения в двух других столбцах в качестве значений поиска матрицы. Код, который я пытаюсь использовать для создания этого нового столбца, выглядит следующим образом:
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 значение матрицы?