Мы можем использовать assign
вместо <-
for(i in seq_along(bids)) {
tmp <- get(paste0("bid", i))
assign(paste0("bid", i), tmp[tmp[[5]] >3,])
}
Намного лучше было бы сохранить это значение в list
lst1 <- lapply(mget(ls(pattern = "^bid\\d+$")), function(x) x[x[[5]] > 3,])
Или если нам нужно обновить исходные объекты
list2env(lst1, .GlobalEnv)
data
bids <- c('bid1', 'bid2')
set.seed(24)
bid1 <- as.data.frame(matrix(sample(0:10, 5 * 10, replace = TRUE), ncol = 5))
bid2 <- as.data.frame(matrix(sample(0:10, 5 * 10, replace = TRUE), ncol = 5))