Size: a a a

R (язык программирования)

2021 June 07

BA

Bogdan Avramenko in R (язык программирования)
Именно!)
источник

BA

Bogdan Avramenko in R (язык программирования)
И в распараллеленом аналогично
источник

PU

Philipp Upravitelev in R (язык программирования)
а пример выше работает и без назначения окружения
просто в нем нет явного возвращения измененного объекта:
> lst <- list()
> f <- function () {
+   lst[[length(lst) + 1]] = "new"
+ }
> f()
> (f())
[1] "new"
> f <- function () {
+   lst[[length(lst) + 1]] = "new"
+   lst
+ }
> f()
[[1]]
[1] "new"
источник

PU

Philipp Upravitelev in R (язык программирования)
там смотреть надо, есть подозрение, что при обработке lst в рабочем окружении функции происходит не модификация объекта, а просто его использование
что, возможно, не то поведение, которое хотелось бы
источник

BA

Bogdan Avramenko in R (язык программирования)
Нету, норм
lst <- f()
lst <- f()
lst <- f()
источник

PU

Philipp Upravitelev in R (язык программирования)
не, там адрес самого объекта в памяти меняется, что дял списков не совсем правильное поведение
источник

ГД

Григорий Демин... in R (язык программирования)
Просто вместо = напишите такую стрелку: «-
источник

PU

Philipp Upravitelev in R (язык программирования)
источник

PU

Philipp Upravitelev in R (язык программирования)
источник

PU

Philipp Upravitelev in R (язык программирования)
а багу с копипастой из View не пофиксили %(
источник

IS

Ilya Shutov in R (язык программирования)
Богдан ответ дал хороший, но сам вопрос с подвохом. Зачем такая функциональность? Это требуется в редких случаях, но лучше обходиться без подобного стиля.

Почему просто не вернуть значение?
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Это не то что редкий случай, а какое-то зло и выстрел себе в ногу
источник

BA

Bogdan Avramenko in R (язык программирования)
Как я и сказал при ответе: надо быть с этими маневрами аккуратнее, да)
источник

IS

Ilya Shutov in R (язык программирования)
1. я старался выразиться поаккуратнее.
2. этим трюком лично я пользуюсь в одном случае — функция инициализации переменных.
Пишется функция, которая при старте приложения считывает конфиги, обращается в базу, и т.д.
И в ней, вместо того, чтобы выдавать список переменных для присвоения их в глобальном окружении, используется assign.

однократный вызов, в четко спозиционированном месте. весь служебный код уезжает в функции/пакеты, можно автотест на инициализацию написать.
источник

Н

Надежда in R (язык программирования)
Здравствуйте. Подскажите в чем ошибка,
Unknown or uninitialised column: manufacturing.Ошибка в ts(prod$manufacturing[1:rc], frequency = 30, start = c(2020,  :
 'ts'-объект должен иметь одно или более наблюдений.
Но у меня DF не одно наблюдение там более 900 тысяч
источник

BA

Bogdan Avramenko in R (язык программирования)
Вообще ничего не понятно.

Даже элементарно, это data.table/data.frame/tibble?

Нужен код как дойти до этой проблемы (на основе тестового сэмпла в коде же).
источник

Н

Надежда in R (язык программирования)
В общем есть таблица, в которой два столбца. первый с датой второй с количеством.
мне нужно использовать функцию ts.
prods <- ts(prod$manufacturing[1:rc],
           frequency = 30,
           start = c(2020, 7))   и после этого выходит ошибка
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
А rc чему равен?
источник

Н

Надежда in R (язык программирования)
rc <- nrow(prod) # Количество строк в таблице
источник

ДВ

Дмитрий Володин... in R (язык программирования)
а зачем?
источник