Судя по вашему снимку экрана, похоже, проблема в том, что ваши объекты не находятся в списке, с которым вы можете легко работать, а просто хранятся как значения в вашей глобальной среде (или .GlobalEnv
). Вот обходной путь с использованием ls()
и getElement
:
lapply(ls(), function(x) {
new_value <- round(getElement(.GlobalEnv, x))
assign(x, new_value, pos = .GlobalEnv) # re-assign its value to the rounded value
})
ls()
перечислит имена значений и объектов (всего) в .GlobalEnv
(ваша глобальная среда). Возможно, вам придется использовать grep
, чтобы выбрать только те, которые вы хотите, это зависит от того, что еще там есть.
С помощью getElement
вы затем можете указать имена объектов в виде символьных строк (именно так ls()
вернет их и извлечет их значения, откуда они существуют. Итак, ваш первый аргумент для getElement
- это .GlobalEnv
, место, где находятся объекты. И второй аргумент - это имя объекта. Если вы затем хотите изменить его значение в глобальной среде, вы можете использовать функцию assign
, чтобы существенно перезаписать его, который аналогично позволяет вам указать имя значения в виде символьной строки, а затем .GlobalEnv
в качестве аргумента position
, если объект просто живет в вашей глобальной среде.