У меня есть матрица, которая содержит целочисленные значения, которые представляют индекс элемента в массиве, и я хотел бы отключить элемент 1 для значений [1] и т. Д. Для каждого элемента в массиве значений.Замените элементы в матрице на основе значения
Часть кода, чтобы продемонстрировать, что я хотел бы
> m = matrix(1:3, ncol=3, nrow=3)
> m
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 2 2 2
[3,] 3 3 3
> replace(m, 1="a", 2="b", 3="c")
> m
[,1] [,2] [,3]
[1,] "a" "a" "a"
[2,] "b" "b" "b"
[3,] "c" "c" "c"
В основном это занимает 1 и превращает его в «а» и так далее. Похоже, если я попытаюсь сделать это с циклом for, он изменится после первой итерации от int до строки, и поскольку я хотел бы сделать это с любым типом объекта, это не очень хорошо.
Я не имею ни малейшего представления о том, что это вопрос, но вы ищете нечто вроде '' dim <- "(буквы [m], dim (m))'? –
Будет ли это ограничено 1, 2, 3 и a, b, c, или вам нужно более общее решение? –
Мне нужно общее решение, которое заменяет каждый элемент, который соответствует значению с другим элементом. В приведенном выше случае я пишу 1 = "a", чтобы указать, что все 1 значения будут заменены на строку "a". Левая часть уравнения всегда будет целочисленными значениями, но правая сторона может быть любой, в этом случае это строка, но она может быть от другого целого к функции. – Coat