Как изменить символьный вектор, чтобы использовать его для индексации другого объекта? (растр или датафрейм) - PullRequest
1 голос
/ 31 марта 2020

Скажем, у меня есть растровый объект r (или фрейм данных, так как они могут быть проиндексированы аналогично), и список символов v:

v <- c("X15_X14","X15_X10","X13_X10")

Имена / группы моего объекта "r" "X1", "X2", ..., "X14", "X15"

Какую комбинацию strsplit, gsub и paste (или любую другую функцию) можно использовать для создания простой математической операции где «X15_X14» из моего списка становится r $ X15 / r $ X14 или r [[15]] / r [[14]]?

Я хочу использовать список "v", который я автоматически генерирую, чтобы выбрать полосы / столбцы для разделения. У меня есть несколько моделей, в которых тренировочные данные уже представлены в этом формате (например, X15 / X14) и названы как мой список. Данные, к которым я применяю модель, называются «X14», «X15», и для того, чтобы я смог применить модель, необходимо применить крысу ios.

1 Ответ

1 голос
/ 31 марта 2020

Мы можем использовать strsplit, чтобы разбить _ на list векторов, затем l oop вместо list с lapply, подмножество 'r' [[ и разделить

lst1 <- lapply(strsplit(v, "_"), function(x) r[[x[1]]]/r[[x[2]]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...