Size: a a a

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

2021 June 06

IS

Ilya Shutov in R (язык программирования)
Одни пули и есть. По своей практике могу утверждать, что сторителлинг в 90% случаев полезнее, понятнее, воспроизводимый и существенно более содержательный.
источник

DK

Dm Kb in R (язык программирования)
только для хорошего сторителинга нужен хороший сторителлер
источник

А

Анатолий in R (язык программирования)
А можете поделиться примерами хороших сторис на "наши" аналитические темы?
источник

a

aGricolaMZ in R (язык программирования)
Переслано от aGricolaMZ
В это воскресенье мы анализировали данные американского сериала Survivor. Мы построили карты и логистическую регрессию.

Код и видео.
источник

IS

Ilya Shutov in R (язык программирования)
в точку.
зато результат на порядок или более полезнее,
чем 100500 метрик на дашбордах, посчитанных когда-то кем-то и как-то.

первичное утверждение можно обобщить, в сказках для детей это уже делали:
источник

IS

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

AP

Aleksandr Pidtykan in R (язык программирования)
Где же учится этому сторитейлингу ?
источник

IS

Ilya Shutov in R (язык программирования)
там самый важный шаг -- начать структурированно мыслить и четко излагать результаты.

Это просто опытное наблюдение, зачастую попытка структурировать поток сознания от бизнеса либо переворачивает исходные желания, либо приводит к факту их невозможности или несостоятельности. Четкость формализации помогает.

+ у каждого отчета есть конкретные пользователи (ФИО), жизнь которых вы сделаете существенно проще. держите с ними тесную обратную связь -- они помогут понять что именно полезно для задачи.
источник

IS

Ilya Shutov in R (язык программирования)
с телефона писать не очень удобно было.

С ноута добавлю чуть более развернуто.
Учиться сторителлингу можно прямо на своих текущих задачах. Ведь по сути это что?
Разработка отчета в виде статьи/книги. Смотрите, как именно потребляет конкретный пользователь выдаваемую ему информацию (BI, excel, выгрузки,...) и консолидируете весь его "аналитический" путь в одном отчете. По принципу от общей информации к частным деталям.
При этом не грузите его всем объемом информации как в дашбордах, а фокусируете на проблемных точках.

В бэкенде можно использовать все доступные алгоритмы и источники, необходимые для построения storytelling отчета.
На выходе можно использовать различные выразительные средства. При формате html можно включать интерактив с помощью js виджетов.

Надеюсь, дал ответ на вопрос.
источник

a

alez in R (язык программирования)
Здравствуйте, подскажите пожалуйста как мутировать список который определен вне функции которая его мутирует? У меня в этом примере не получается:
lst <- list()

f <- function () {
 lst[[length(lst) + 1]] = "new"
}

f() ; f() ; f();

lst   # пустой :(


Но если заинлайнить функцию f то всё хорошо.
источник

BA

Bogdan Avramenko in R (язык программирования)
f <- function () {
 lst[[length(lst) + 1]] = "new"
 
 assign(x = 'lst', value = lst, envir = rlang::caller_env())
}
источник

a

alez in R (язык программирования)
О, спасибо большое:) Интересные вещи.. какой то caller_env 🧐 Буду разбираться
источник

BA

Bogdan Avramenko in R (язык программирования)
Она и не должна была ничего возвращать без прямого указания.

Я сделал со скрытым назначением.

С такими штуками лучше быть аккуратнее в коде)
источник

a

alez in R (язык программирования)
Я просто привык к языкам где такое норма
источник

BA

Bogdan Avramenko in R (язык программирования)
caller_env можно не указывать, у меня просто привычка после редактирования собственного пакета (подгружается через library). У R есть дурное свойство работать по умолчанию с глобальным окружением, а по логике всегда нужна работа с окружением, которое вызвало функцию.
источник

a

alez in R (язык программирования)
Понятно, спасибо
источник
2021 June 07

PU

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

BA

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

Но возникают проблемы, когда функция объявлена в отдельном проекте пакете, когда подгружается через library (у нее и по умолчанию окружение другое), и ещё проблемы при ее использовании в распараллеленом задании.

В обоих случаях она обращается к переменным в глобальном окружении, если жёстко не сажать внутри функции на called_env.
источник

BA

Bogdan Avramenko in R (язык программирования)
Ну и там прочий арсенал в бой идёт: get, assign, list2env
источник

PU

Philipp Upravitelev in R (язык программирования)
это вы про namespace::base, видимо, там вообще наркомания %)
источник