Size: a a a

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

2020 December 22

ЕТ

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

A

Andrey in R (язык программирования)
Евгений Томилов
Хм. Я же верно понимаю, что, корректно говорить, что тест Мак-Немара — это тот же тест Хи-квадрат/Фишера, но при условии, что матрица строится на основе двух переменных "до" и "после"?
Нет конечно
источник

В

Виктор in R (язык программирования)
Коллеги подскажите плз как сделать динамический прогресс-бар? ну типа как в коннекторах в Рекламным системам - Processing|==== которая заполняется по мере прогресса
источник

AZ

Arsenii Zed in R (язык программирования)
Евгений Томилов
Хм. Я же верно понимаю, что, корректно говорить, что тест Мак-Немара — это тот же тест Хи-квадрат/Фишера, но при условии, что матрица строится на основе двух переменных "до" и "после"?
Нет, для хи-квадрат H0 - это независимость групп, для МакНемара - то, что признаки не изменились значимо (т.е. пациенты остались примерно на главной диагонали). Идеальный случай по H0 МакНемара будет иметь очень большую значимость по хи-квадрату, т.к. у нас прямая зависимость: все признаки по первой категории сохранились и для второй категории.

Вот туть есть инфа
http://www.machinelearning.ru/wiki/index.php?title=%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9C%D0%B0%D0%BA-%D0%9D%D0%B8%D0%BC%D0%B0%D1%80%D0%B0

EDIT: ну я даже не совсем до конца объяснил, но суть в том, что мы смотрим на отклонение в разные стороны от диагонали, а не в общем смысле
источник

IS

Ivan Struzhkov in R (язык программирования)
Я с утра туплю больше обычного и возник такой вопрос. Есть две таблички. Одна список дат со значением ставки на каждую дату

другая - набор периодов между двумя датами

> rr %>% select(1:2) %>% head(5)
   rate_date rate_value
1 2017-12-01        8.2
2 2017-12-02        8.2
3 2017-12-03        8.2
4 2017-12-04        7.8
5 2017-12-05        8.1
> dp %>% select(fromdate,todate) %>% head(5)
   fromdate     todate
1 2020-12-15 2020-12-16
2 2020-12-18 2020-12-19
3 2020-12-16 2020-12-17
4 2020-12-18 2020-12-20
Требуется для каждого периода во второй табличке найти средню ставку из первой таблички

Мой утренний мозг родил
dp %>% rowwise() %>%  mutate(m_rate=mean(rr$rate_value[rr$rate_date>=fromdate &
                                         rr$rate_date<= ifelse(todate>=max(rr$rate_date),max(rr$rate_date),todate  )])) %>% select(fromdate,todate,m_rate)

Подозреваю есть способ через  apply
И интересное как подобные операции в data table делать
источник

A

Andrey in R (язык программирования)
Виктор
Коллеги подскажите плз как сделать динамический прогресс-бар? ну типа как в коннекторах в Рекламным системам - Processing|==== которая заполняется по мере прогресса
Есть пакет progress, еще когда-то юзал pbapply
источник

В

Виктор in R (язык программирования)
Andrey
Есть пакет progress, еще когда-то юзал pbapply
Спасибо. почекаем
источник

АК

Артём Клевцов... in R (язык программирования)
Ivan Struzhkov
Я с утра туплю больше обычного и возник такой вопрос. Есть две таблички. Одна список дат со значением ставки на каждую дату

другая - набор периодов между двумя датами

> rr %>% select(1:2) %>% head(5)
   rate_date rate_value
1 2017-12-01        8.2
2 2017-12-02        8.2
3 2017-12-03        8.2
4 2017-12-04        7.8
5 2017-12-05        8.1
> dp %>% select(fromdate,todate) %>% head(5)
   fromdate     todate
1 2020-12-15 2020-12-16
2 2020-12-18 2020-12-19
3 2020-12-16 2020-12-17
4 2020-12-18 2020-12-20
Требуется для каждого периода во второй табличке найти средню ставку из первой таблички

Мой утренний мозг родил
dp %>% rowwise() %>%  mutate(m_rate=mean(rr$rate_value[rr$rate_date>=fromdate &
                                         rr$rate_date<= ifelse(todate>=max(rr$rate_date),max(rr$rate_date),todate  )])) %>% select(fromdate,todate,m_rate)

Подозреваю есть способ через  apply
И интересное как подобные операции в data table делать
data.table::foverlaps глянь.
источник

A

Andrey in R (язык программирования)
Ivan Struzhkov
Я с утра туплю больше обычного и возник такой вопрос. Есть две таблички. Одна список дат со значением ставки на каждую дату

другая - набор периодов между двумя датами

> rr %>% select(1:2) %>% head(5)
   rate_date rate_value
1 2017-12-01        8.2
2 2017-12-02        8.2
3 2017-12-03        8.2
4 2017-12-04        7.8
5 2017-12-05        8.1
> dp %>% select(fromdate,todate) %>% head(5)
   fromdate     todate
1 2020-12-15 2020-12-16
2 2020-12-18 2020-12-19
3 2020-12-16 2020-12-17
4 2020-12-18 2020-12-20
Требуется для каждого периода во второй табличке найти средню ставку из первой таблички

Мой утренний мозг родил
dp %>% rowwise() %>%  mutate(m_rate=mean(rr$rate_value[rr$rate_date>=fromdate &
                                         rr$rate_date<= ifelse(todate>=max(rr$rate_date),max(rr$rate_date),todate  )])) %>% select(fromdate,todate,m_rate)

Подозреваю есть способ через  apply
И интересное как подобные операции в data table делать
Можно добавить к обеим таблицам столбец со всеми датами за анализируемый период. Потом сджойнить по этому столбцу. Потом придумать, как сделать метки групп для каждого периода
источник

БА

Байкулов Антон... in R (язык программирования)
Ребята, есть вопрос:

Как разбить в R совокупность целочисленных значений на группы, примерно равные по сумме?

Речь про суммы заказов. И вот я предполагаю, что есть заказы по 2 тысячи на сумму 2млн и есть заказы от 10 до 20тысяч тоже на сумму 2млн и есть 30+тысяч заказы и тоже на 2 млн.

Как мне лучше сгруппировать эти числа?
источник

PU

Philipp Upravitelev in R (язык программирования)
посмотри cut() по цене
либо это кумсумма до порога
источник

PU

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

IS

Ivan Struzhkov in R (язык программирования)
Артём Клевцов
data.table::foverlaps глянь.
спасибо глану
источник

IS

Ivan Struzhkov in R (язык программирования)
Andrey
Можно добавить к обеим таблицам столбец со всеми датами за анализируемый период. Потом сджойнить по этому столбцу. Потом придумать, как сделать метки групп для каждого периода
Джоин да, как вариант, но это на больших объемах та еще песня
источник

БА

Байкулов Антон... in R (язык программирования)
Philipp Upravitelev
непонятно без примера
Есть около 13 тысяч чеков. В каждом есть сумма заказа. Хочу их сгруппировать по диапазонам. Например чеки от 1 000 до 10 000, кол-во 438 чеков на сумму 5 000 000 и т.д.
источник

PU

Philipp Upravitelev in R (язык программирования)
сначала разметь группы по сумме заказа
типа если до 10к - группа1 и т.д
источник

PU

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

PU

Philipp Upravitelev in R (язык программирования)
разметить можно через cut или fcase/case_when
источник

БА

Байкулов Антон... in R (язык программирования)
Ага, попробую. СпасибО!
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Байкулов Антон
Есть около 13 тысяч чеков. В каждом есть сумма заказа. Хочу их сгруппировать по диапазонам. Например чеки от 1 000 до 10 000, кол-во 438 чеков на сумму 5 000 000 и т.д.
Филипп как раз подсказал по кумсумме. Если важно именно иметь в каждой группе одинаковую итоговую сумму. Остаётся только понять, а сколько таких групп делать.

А если есть какие-то пороговые значения суммы чеков, то да, cut
источник