169 похожих чатов

Други, доброго времени. Чтобы быть в тренде, тоже попрошу помощи

«с объяснениями и подробно» (с)

Я химик. Мы с коллегами написали статью, обработку данных для которой (в основном разные спектральные кривые) я сделал в R. Решил выложить сырые данные и скрипт обработки на гитхабе.

Сразу скажу, ничего особенного ни в данных, ни в скрипте нет. Данные простые, скрипт тоже примитивный. Не думаю, что кто-то будет повторять этот анализ или использовать для себя. Мой опыт в R минимален, но я написал его за пару дней от импорта до генерации картинок, с перерывами на другие дела. Так что выложил не из-за эксклюзива и не для славы, а для себя на память, ну и чтобы добавить доверия к нашим результатам.

Скрипт небольшой, строк на 500 с комментами. Отрабатывает на ноуте за 30-40 секунд от импорта до картинок. В перспективе аналогичные данные будут больше, но в разы, а не на порядки, так что скорость устраивает. При написании старался в первую очередь писать понятно для себя. Сроки подготовки были жесткие, в приоритете была скорость получения финальных картинок, а не красота, к сожалению.

Чего хочется?

1) «Высокоуровневой» критики оформления (особенно ценно мнение тех, кто аналогично выкладывал данные для статей). Какие еще нужны подробности в readme? Нужны ли дополнительно комментарии в скрипте или он и так очевидный? Стоит ли делить его на куски (импорт/процессинг/графика) или при таком объеме и так норм? Хорошая ли практика рисовать графики (они многие похожи, различия в данных) каждый своим отдельным ггплотом (так удобнее тюнить мелочи вроде бы) или лучше сделать обертки для однотипных графиков (переиспользование кода типа)?

2) «Низкоуровневых» придирок. Как я сказал, меня скорость скрипта устраивает. Но наверняка есть что-то типа «окей, оно работает, но так писать не надо ни в коем случае, точно будут проблемы». Наверняка есть что-то написанное через одно место (я даже догадываюсь, что, но интересен и независимый взгляд). В общем, самое вопиющее что надо учесть в будущем при анализе аналогичных данных.

3) В целом буду рад любым замечаниям и предложениям. В этом куске руки уже связаны тем, что статья в редакции, но работа на этом не закончена. Даже «все хрень, переписать с начала» (с) - тоже будет полезный взгляд :)

Собсно, вот. Данные и скрипт с минимальным вводным описанием тут: https://github.com/eukarr/urea_physchem
Могу, если кто всерьез заинтересуется, скинуть и статью (там страниц 16 с картинками) в личку. Т.к. статья еще на рецензии в редакции, не уверен, что могу ее светить публично. Готов опять же заинтересовавшимся критикам пояснить что-то словами - могу здесь, могу тоже в личке, как админы скажут.

В любом случае, даже если не найдется времени и желания, спасибо чату за все ценное, что тут нахожу!

3 ответов

10 просмотров

добавьте а) версии всех пакетов и ос, б) лицензию -- без нее никто не имеет права использовать Ваш код

Я не имею права критиковать код на R, потому что в языке уж очень плохо разбираюсь, но должен сказать, я ваш читаю и мне все понятно! (А это редкость, особенно в случае с R, обычно я скриплю зубами и матюкаю авторов)

Ілія Малекі
Я не имею права критиковать код на R, потому что в...

Профессионалы на R специально пишут непонятно, чтобы своё рабочее место защитить))

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Вопрос. Запускаю сонсольное приложение. Читаю из пайпа его вывод. Если данных нет, то на чтении поток зависает. Отправляю в вывод чучуть текста - нифига. Отправляю ещё чучуть...
Serjone
11
Карта сайта