Size: a a a

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

2021 March 01

ДВ

Дмитрий Володин... in R (язык программирования)
Vladimir Volokhonsky МО 72
Но должен сказать, что обработка ошибок через tryCatch действительно немного геморройна и я понимаю желание сделать что-то понятнее для новичков.
Да, зато многофункциональна. Топикстартеру я бы посоветовал ещё подумать над дроблением скрипта, чтобы избавиться от зависимостей. И вообще рассмотреть какие-то варианты data flow. А то так и доскипаться можно)
источник

AS

Alexey Seleznev in R (язык программирования)
Eugene Kasatkin
Добрый день!
При запуске скрипта периодически вылетают ошибки и код ниже не отрбатывает. как-нибудь можно скипнуть ошибки и записать их в лог?
так же есть warnings, но они автоматически пропускаются что полностью меня устраивает
Я по теме обработки ошибок пару видео записывал

1. try, tryCatch()
2. retry, purrr
YouTube
Как перехватывать и обрабатывать ошибки на языке R: Конструкции try() и tryCatch()
Обработка ошибок важная часть разработки стабильно работающих скриптов.

В этом уроке мы научимся отлавливать и обрабатывать ошибки на языке R с помощью конструкций try() и tryCatch().

try() является простейшей конструкцией для перехвата ошибок, а tryCatch() значительно более функциональной и сложной. По смыслу tryCatch() очень схожа с питоновской конструкцией try-except.

Скрипт рассмотренный в уроке: https://github.com/selesnow/publications/blob/master/code_example/try_catch/exceptions_in_r.R

Тайм коды:
1. Конструкция try() ( 0:37 )
2. Как использовать try() внутри цикла for  ( 2:54 )
3. Конструкция tryCatch() ( 7:16 )
4. Обработка ошибок с помощью tryCatch() ( 12:32 )
5. Как использовать tryCatch() внутри цикла for ( 13:39 )
6. Блок finally в конструкции tryCatch() (15:27 )
7. Работа с пользовательскими классами исключений ( 19:09 )
8. Векторизируем конструкцию tryCatch() с помощью lapply() ( 24:11 )

====================
Поддержать канал:  
Вы можете поддержать канал любой произвольной суммой от 1$, собранные…
источник

AS

Alexey Seleznev in R (язык программирования)
Eugene Kasatkin
Добрый день!
При запуске скрипта периодически вылетают ошибки и код ниже не отрбатывает. как-нибудь можно скипнуть ошибки и записать их в лог?
так же есть warnings, но они автоматически пропускаются что полностью меня устраивает
и по логированию тоже видос и статья есть, там про пакет lgr

- статья
- видео
источник

DK

Dm Kb in R (язык программирования)
Vladimir Volokhonsky МО 72
Но должен сказать, что обработка ошибок через tryCatch действительно немного геморройна и я понимаю желание сделать что-то понятнее для новичков.
поддержу оратора и выражу свое мнение, что функции в purrr::possibly(), quitely() как-то легче заходят... честно говоря, я даже сравнить толком не могу с tryCatch() т.к. с последним не смог толком разобраться
источник

ED

Evgeniy Dolgin in R (язык программирования)
Eugene Kasatkin
Добрый день!
При запуске скрипта периодически вылетают ошибки и код ниже не отрбатывает. как-нибудь можно скипнуть ошибки и записать их в лог?
так же есть warnings, но они автоматически пропускаются что полностью меня устраивает
после перебора различных библиотек и вариантов я остановился на использовании либы tryCatchLog, она умеет логировать ошибки с записью коллстека - для поиска на чем спотыкается скрипт очень удобно
источник

AS

Alexander Semenov in R (язык программирования)
Кто про что, а я про книги. Говорят годная (если надо бизнесу что-то из статистики объяснить). http://library.lol/main/C4FE9A1EDB42341D62E677513C27EE82
источник

А

Анатолий in R (язык программирования)
Добрый день! Подскажите, пожалуйста, в синтаксисе data.table

dt <- data.table(x=1:100,
                 v1=c(rep(T,10), rep(F,90)),
                 v2=c(rep(T,20), rep(F,80)),
                 v3=c(rep(T,30), rep(F,70))
                 )

И таких v№ много. Хочу последовательно отбирать таблицы

1 dt[v1==T, ]
2 dt[v2==T, ]  и так далее. Идея- отфильтровал таблицу сначала по одному столбцу, сделал вычисления, сохранил. Потом по второму и так далее. Пытался делать через цикл, но на выражение  dt[paste0(“v”,i)==T,] R ругается. Пробовал зайти через .SD- не хочет фильтровать строки. Как осуществить перебор по генерируемым именам data.table накладывая по ним фильтр?
источник

AP

Aleksandr Pidtykan in R (язык программирования)
Анатолий
Добрый день! Подскажите, пожалуйста, в синтаксисе data.table

dt <- data.table(x=1:100,
                 v1=c(rep(T,10), rep(F,90)),
                 v2=c(rep(T,20), rep(F,80)),
                 v3=c(rep(T,30), rep(F,70))
                 )

И таких v№ много. Хочу последовательно отбирать таблицы

1 dt[v1==T, ]
2 dt[v2==T, ]  и так далее. Идея- отфильтровал таблицу сначала по одному столбцу, сделал вычисления, сохранил. Потом по второму и так далее. Пытался делать через цикл, но на выражение  dt[paste0(“v”,i)==T,] R ругается. Пробовал зайти через .SD- не хочет фильтровать строки. Как осуществить перебор по генерируемым именам data.table накладывая по ним фильтр?
get or [[]]
источник

А

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

EK

Eugene Kasatkin in R (язык программирования)
Alexey Seleznev
Я по теме обработки ошибок пару видео записывал

1. try, tryCatch()
2. retry, purrr
YouTube
Как перехватывать и обрабатывать ошибки на языке R: Конструкции try() и tryCatch()
Обработка ошибок важная часть разработки стабильно работающих скриптов.

В этом уроке мы научимся отлавливать и обрабатывать ошибки на языке R с помощью конструкций try() и tryCatch().

try() является простейшей конструкцией для перехвата ошибок, а tryCatch() значительно более функциональной и сложной. По смыслу tryCatch() очень схожа с питоновской конструкцией try-except.

Скрипт рассмотренный в уроке: https://github.com/selesnow/publications/blob/master/code_example/try_catch/exceptions_in_r.R

Тайм коды:
1. Конструкция try() ( 0:37 )
2. Как использовать try() внутри цикла for  ( 2:54 )
3. Конструкция tryCatch() ( 7:16 )
4. Обработка ошибок с помощью tryCatch() ( 12:32 )
5. Как использовать tryCatch() внутри цикла for ( 13:39 )
6. Блок finally в конструкции tryCatch() (15:27 )
7. Работа с пользовательскими классами исключений ( 19:09 )
8. Векторизируем конструкцию tryCatch() с помощью lapply() ( 24:11 )

====================
Поддержать канал:  
Вы можете поддержать канал любой произвольной суммой от 1$, собранные…
Спасибо!
источник

V

Vladimir in R (язык программирования)
Добрый день, есть ли возможность восстановить прежнюю версию скрипта R? встроенным инструментом windows не получилось
источник

AS

Alexander Semenov in R (язык программирования)
Выковыривать нужное из истории?
источник

AS

Alexander Semenov in R (язык программирования)
Ну и на будущее: использовать Git.
источник

V

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

ДВ

Дмитрий Володин... in R (язык программирования)
Alexander Semenov
Ну и на будущее: использовать Git.
Святой человек на старте моего погружение в программирование в целом сказал мне: "Используй VCS и комментируй код"))
источник

PD

Pavel Demin in R (язык программирования)
Alexey Seleznev
у всех слетает если решетку добавлять, я в постах в канале задалбался с этим бороться
это, наверное, уже не актуально, но я сейчас немного поэкспериментирвал и пришел к следующему:

такой способ написания кода в сообщении раньше у меня работал, но сейчас перестал:
\```
multiline
code
\```

чтобы он работал, не нужно разносить бэктики на новые строки. и даже комментарии работают:
\```multiline
# comment
code```
источник

PD

Pavel Demin in R (язык программирования)
multiline
# comment
code
источник

-

- in R (язык программирования)
Есть какая-то возможность по таблице с координатами начала и конца отрезка построить эти самые отрезки, да еще так, чтобы отразить перекрывание и покрасить их в зависимости от фактора? Пример на второй картинке (не соответствует числам из таблицы, а просто как пример)
источник

-

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

EP

Ed P in R (язык программирования)
-
Есть какая-то возможность по таблице с координатами начала и конца отрезка построить эти самые отрезки, да еще так, чтобы отразить перекрывание и покрасить их в зависимости от фактора? Пример на второй картинке (не соответствует числам из таблицы, а просто как пример)
есть geom_segment
http://sape.inf.usi.ch/quick-reference/ggplot2/geom_segment

в примере ось Y тоже непрерывная, но, наверное, можно либо сделать категориальной, либо перекодировать фактор в константы, чтобы было горизонтально.

Единственное, разные факторы будут на разных, так сказать, "уровнях" на графике. Т.е. красные и зеленые линии будут идти располагаться на разных значениях по оси Y, а не друг за другом
источник