Size: a a a

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

2020 December 20

SG

Sergey Gumerov in R (язык программирования)
Коллеги,
вопрос про R shiny.

Как можно организовать единую reactiveValue для различных сессий?
То есть 2 пользователя имеют доступ к единому пространству данных
источник

FA

Farid AB in R (язык программирования)
Ed P
ИМХО вопрос @faridische изначально не располагал к продуктивной дискуссии.

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

Врачи тоже являеются как бы потребителями медицинской продукции. Если они не занимаются наукой или не имеют научного мышления, то смысл что-то спрашивать? Им дали протокол, они исполняют.
МЫ ПРОСТО ИЩЕМ ЭКСПЕРТА В ЭТОЙ ОБЛАСТИ ДЛЯ ПРОЕКТА В МЕДИЦИНСКОЙ КОМПАНИИ
источник

FA

Farid AB in R (язык программирования)
БУДУ признателен за контакты. Можно в лс
источник

EP

Ed P in R (язык программирования)
Sergey Gumerov
Коллеги,
вопрос про R shiny.

Как можно организовать единую reactiveValue для различных сессий?
То есть 2 пользователя имеют доступ к единому пространству данных
насколько я в курсе, так не работает. в рамках одной сессии модули могут между собой общаться и у них как бы разграниченное пространство.

Но реактивные значения не делятся между пользователями, т.к. у каждого пользователя свой инстанс создается. ну или по крайней мере даже если делится на shinyapps.io, то может не сработать на другой архитектуре (когда шайни сидит в докере, н-р).

Мне кажется, надо заводить SQL базу одну на всех, которую каждый юзер может обновлять.
источник

SG

Sergey Gumerov in R (язык программирования)
Тут ребята рассуждают все-таки о возможном общем пространстве инициализируемом как-то так
assign("main_df", df, envir = .GlobalEnv)

https://stackoverflow.com/questions/45941457/sharing-reactive-data-sets-between-user-sessions-in-shiny
источник

EP

Ed P in R (язык программирования)
Интересно, м.б. для shinyapps сработает, когда юзеры сидят одновременно. Но если приложение какое-то время было в спящем режиме, то после инициализации данные ведь потрутся?

У меня все шайни сидят в докерах и там для каждого юзера запускается своя копия приложения, так что вряд ли такое решение масштабируется.
источник

SG

Sergey Gumerov in R (язык программирования)
Чтобы не потерлись - можно сохранять в csv в облаке
источник

EP

Ed P in R (язык программирования)
т.е. мы в итоге все равно возвращаемся к какому-то из вариантов внешнего хранилища. csv, база, you name it :)
источник

EP

Ed P in R (язык программирования)
Вспомнил, что однажды global.R использовал. М.б. можно туда сохранить и попробовать:

https://mraess.rbind.io/2018/07/the-awesomeness-that-is-the-global-r-file-or-how-to-clean-up-your-shiny-app/
источник

SG

Sergey Gumerov in R (язык программирования)
да, я с этим global.r как раз работаю
источник

EP

Ed P in R (язык программирования)
бляяяя, это же такая дыра в безопасности! Я только что протестировал - данные в global.R реально доступны между сессиями на shinyapps.io (только если юзеры одновременно сидят). Вот черт :)
источник

EP

Ed P in R (язык программирования)
Sergey Gumerov
да, я с этим global.r как раз работаю
Вот нашел более-менее официальное объяснение: https://shiny.rstudio.com/articles/scoping.html

This document describes how scoping works within a single R process. One R process can support multiple Shiny sessions. Some hosting platforms (including RStudio Connect, Shiny Server Pro, and shinyapps.io) also allow running multiple R processes to handle heavier traffic. Within each R process, the scoping works as explained below, but between the R processes, no objects are shared. So, for example, if you configure RStudio Connect to start a new R process for each connection to your app, no objects will ever be shared between different sessions of the app, since these sessions all belong to different R processes

Так что если у вас юзеры не видят реактивные значения друг друга из global.R, то, наверное, они в разных сессиях сидят.
источник
2020 December 21

PS

Pseush Saida in R (язык программирования)
Всем добрый день! Есть вопрос по R. Пытаюсь освоить недавно, по профессии не программист, не математик даже) не получается перевести количественную переменную в факторную (пыталась через mutate, <-as.factor). Может кто-то подсказать?)
источник

a

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

a

aGricolaMZ in R (язык программирования)
df %>% mutate(var = factor(var))
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Pseush Saida
Всем добрый день! Есть вопрос по R. Пытаюсь освоить недавно, по профессии не программист, не математик даже) не получается перевести количественную переменную в факторную (пыталась через mutate, <-as.factor). Может кто-то подсказать?)
Если речь про дробление непрерывной переменной на интервалы, то почитайте справку по функции cut.
источник

PS

Pseush Saida in R (язык программирования)
aGricolaMZ
Покажите полностью фрагмент кода, а то, то что Вы уже показали вызывает опасения
Не, mutate и as.factor не в одном коде использовалось, естественно)
источник

PS

Pseush Saida in R (язык программирования)
Дмитрий Володин
Если речь про дробление непрерывной переменной на интервалы, то почитайте справку по функции cut.
Да, именно про это
Прочту, Спасибо)) просто на оси x должен быть номер пациента, а он разбивает на интервалы, при том не целые даже. Поэтому и появилась необходимость в изменении вида.
источник

PS

Pseush Saida in R (язык программирования)
Спасибо всем за ответ))
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Pseush Saida
Да, именно про это
Прочту, Спасибо)) просто на оси x должен быть номер пациента, а он разбивает на интервалы, при том не целые даже. Поэтому и появилась необходимость в изменении вида.
Так, мой коммент не про это
источник