Преобразование отрицательных значений матрицы в NA в цикле

#r

#r

Вопрос:

У меня есть четыре матрицы, которые содержат положительные и отрицательные значения. Теперь я хотел бы преобразовать все отрицательные значения для каждой матрицы в NA. Матрицы называются Main_mean, Inn_mean, Isar_mean и Danube_mean . Для одной матрицы это было бы довольно просто : Main_mean[Main_mean<=0] <- NA . Но как это должно выглядеть в цикле?

Ответ №1:

Получите матрицу в списке и примените функцию к каждой из них, используя lapply :

 list_obj <- mget(ls(pattern = '_mean

Для замены исходных объектов вы можете использовать  list2env  .

 list2env(result, .GlobalEnv)
 


))
#Or make a list individually
#list_obj <- mget(c('Main_mean', 'Danube_mean', 'Inn_mean', 'Isar_mean'))

result <- lapply(list_obj, function(x) {x[x<=0] <- NA;x})
Для замены исходных объектов вы можете использовать list2env .