Rambler's Top100
Лёгкая версия форума* Виртуальная клавиатура  English  
Molbiol.ru | О проекте | Справочник | Методы | Растворы | Расчёты | Литература | Орг.вопросы
Web | Фирмы | Coffee break | Картинки | Работы и услуги | Биржа труда | Междисциплинарный биологический онлайн-журналZbio-wiki

NG SEQUENCING · ЖИЗНЬ РАСТЕНИЙ · БИОХИМИЯ · ГОРОДСКИЕ КОМАРЫ · А.А.ЛЮБИЩЕВ · ЗООМУЗЕЙ


Темы за 24 часа  [ Вход* | Регистрация* ]  
   



Форум: 
 

Щёлкните, чтобы внести в Избранные Темы* R Help -- Давайте составим русский FAQ --
Кураторы темы:* plantago
Операции: Хочу стать куратором* · Подписаться на тему* · Отправить страницу по e-mail · Версия для печати*
Внешний вид:* Схема · [ Стандартный ] · +Перв.сообщ.


страницы (55): « < 49 50 51 52 53 > »  
Добавить сообщение в темуСоздать новую темуСоздать голосование
Участник оффлайн! ПолинаШ
Участник



 прочитанное сообщение 25.07.2018 11:56     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Уточните, пожалуйста, в каких случаях "кошерно" ставить пробелы при публикации кода R:
вокруг <- или = в операции присваивания
за запятой при перечислениях
вокруг ~ в формуле
вокруг арифметических или логических символов в выражениях
за именем функции перед скобкой
...
Где-то это писалось, но не могу вспомнить confused.gif
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение Сообщение на английском  25.07.2018 15:03     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

https://google.github.io/styleguide/Rguide.xml

Всего благодарностей: 1Поблагодарили (1): ПолинаШ
Участник оффлайн! Алекс3212




 прочитанное сообщение 06.09.2018 18:29     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Добрый всем вечер! Помогите, пожалуйста, кому не сложно, решить мою проблемку в R. Я не знаю r совсем, но есть желание научиться, но есть необходимость в таблице, которую я импортирую в r, оставить только повторяющиеся строки. Т.е. есть строки в столбце с повторениями, таких повторений может быть по 10 штук в 1 таблице. Как сделать так, чтобы в таблице остались только повторяющиеся строки? Например есть строки
1431
7777
1431
1431
, нужно чтобы осталось только 1431 одна строка.
Участник оффлайн! d-taras




 прочитанное сообщение 06.09.2018 19:11     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Чтение таблиц LibreOffice Calc (*.ods).

В русскоязычном сегменте не нашел примеры чтения либровских таблиц в R.
Может кому будет нужно.
1. Устанавливаем библиотеку readODS
2. library(readODS)
3. Читаем нужный лист в таблице
tab2 <- read_ods("/home/username/work/Yandex.Disk/Ки_измер/измерения_05/R_Ph.ods", sheet = 5)
Как видно понимает русские имена в пути файла и в названии листа т.к. задается порядковый номер листа, а так же запятую в качестве десятичного знака.

Всего благодарностей: 2Поблагодарили (2): plantago, Ulvhare
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 06.09.2018 19:29     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

(Алекс3212 @ 06.09.2018 11:29)
Ссылка на исходное сообщение  Добрый всем вечер! Помогите, пожалуйста, кому не сложно, решить мою проблемку в R. Я не знаю r совсем, но есть желание научиться, но есть необходимость в таблице, которую я импортирую в r, оставить только повторяющиеся строки. Т.е. есть строки в столбце с повторениями, таких повторений может быть по 10 штук в 1 таблице. Как сделать так, чтобы в таблице остались только повторяющиеся строки? Например есть строки
1431
7777
1431
1431
, нужно чтобы осталось только 1431 одна строка.

Так годится?
CODE
> xx
   xx
1 1431
2 7777
3 1431
4 1431
> duplicated(xx)
[1] FALSE FALSE  TRUE  TRUE
> unique(xx[duplicated(xx),])
[1] 1431
Участник оффлайн! Алекс3212




 прочитанное сообщение 07.09.2018 02:33     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(plantago @ 06.09.2018 20:29)
Ссылка на исходное сообщение  Так годится?
CODE
> xx
   xx
1 1431
2 7777
3 1431
4 1431
> duplicated(xx)
[1] FALSE FALSE  TRUE  TRUE
> unique(xx[duplicated(xx),])
[1] 1431




Я очень извиняюсь, я только начал осваивать R и еще мало знаю, я думаю, что то что вы написали сработает именно как нужно мне, но не могу этим корректно воспользоваться. Вы не могли бы от и до весь код выложить, т.к. мне не понятно что значат xx символы. Спасибо smile.gif
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 07.09.2018 18:10     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Добавьте в начало
xx <- data.frame(xx=c(1431, 7777, 1431, 1431))
и все должно заработать.
Участник оффлайн! Алекс3212




 прочитанное сообщение 07.09.2018 22:24     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Я понял, но суть в том, что я не знаю список всех повторяющихся значений, это как пример я написал 1431,7777, 1431,1431, на практике есть около 10 сотен таких значений в таблице. Думаю я не корректно описал в начале суть вопроса своего, надеюсь сейчас у меня это лучше получилось
Участник оффлайн! Алекс3212




 прочитанное сообщение 07.09.2018 22:26     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Можно ли хх как то указать весь массив данных или всю таблицу (таблица из 1 столбца всего, но с 1000 строк)
Может как то хх <- data.table ....
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 08.09.2018 09:12     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Да. разумеется, можно. Только не data.table(), а data.frame().
Участник оффлайн! Алекс3212




 прочитанное сообщение 08.09.2018 17:03     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(plantago @ 08.09.2018 10:12)
Ссылка на исходное сообщение  Да. разумеется, можно. Только не data.table(), а data.frame().


Все сработало как надо, большое спасибо вам!!! Еще один вопрос, не могу сохранить теперь полученный результат обратно в Excel, вроде и пакет установил и загрузил, все равно, подскажите, что я делаю не так? Ниже весь код

> library(readxl) # загрузка пакета
> data2=read_excel("123.xlsx")
> data2
# A tibble: 6 x 1
`1477`
<dbl>
1 1111
2 1568
3 1111
4 8520
5 8520
6 9820
> data3 <- data.frame(data2)
> data3
X1477
1 1111
2 1568
3 1111
4 8520
5 8520
6 9820
> duplicated(data3)
[1] FALSE FALSE TRUE FALSE TRUE FALSE
> unique(data3[duplicated(data3),])
[1] 1111 8520
> write.xlsx(data3, "D:/R/mydata.xlsx")
Error in write.xlsx(data3, "D:/R/mydata.xlsx") :
could not find function "write.xlsx"
> install.packages("writexl")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/writexl_1.0.zip'
Content type 'application/zip' length 283286 bytes (276 KB)
downloaded 276 KB

package ‘writexl’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\...\AppData\Local\Temp\Rtmp..\downloaded_packages
> library(writexl)
> write.xlsx(data3, "D:/R/mydata.xlsx")
Error in write.xlsx(data3, "D:/R/mydata.xlsx") :
could not find function "write.xlsx"
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 08.09.2018 18:23     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Потому что функция называется write_xlsx() , с подчеркиванием, а не с точкой.

Всего благодарностей: 2Поблагодарили (2): Алекс3212, Pulsatilla
Участник оффлайн! Алекс3212




 прочитанное сообщение 08.09.2018 23:34     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(plantago @ 08.09.2018 19:23)
Ссылка на исходное сообщение  Потому что функция называется write_xlsx() , с подчеркиванием, а не с точкой.


Да, я невнимателен был, но после введенной команды сохранился исходный фаил с теми же данными, которые я загружал. Как сделать так, чтобы записались в фаил, только дублированные значения? Я логически понимаю, что сохраняю data3, который я не изменял, а просто вывел дубликаты на монитор пк
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение Сообщение на английском  09.09.2018 06:13     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

data4 <- unique(data3[duplicated(data3),])
write_xlsx(data4, "D:/R/data4.xlsx")
Участник оффлайн! Алекс3212




 прочитанное сообщение 09.09.2018 17:51     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(plantago @ 09.09.2018 07:13)
Ссылка на исходное сообщение  data4 <- unique(data3[duplicated(data3),])
write_xlsx(data4, "D:/R/data4.xlsx")



Спасибо, читаю книгу параллельно R в действии, там по одному примеру так и есть, получается любой результат можно записать в новый фаил именно как вы показали.
И последний наверно вопрос по этой теме, как сделать все тоже самое, если в таблице есть 3 столбца, а фильтрацию данных нужно сделать только на основе инф. из 1 столбца, при этом чтобы 2 и 3 столбец повторяющихся строк 1 столбца тоже остались, а не повторяющиеся удалились вместе с значениями из тех же 2 и 3 столбцов?
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 09.09.2018 19:12     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Как-то так

> aa <- data.frame(xx=c(1431, 7777, 1431, 1431), yy=1:4, zz=letters[1:4])
> aa
xx yy zz
1 1431 1 a
2 7777 2 b
3 1431 3 c
4 1431 4 d
> aa2 <- aa[duplicated(aa[, 1]),]
> aa2
xx yy zz
3 1431 3 c
4 1431 4 d
> aa3 <- aa2[!duplicated(aa2[, 1]), ]
> aa3
xx yy zz
3 1431 3 c
Guest
IP-штамп: frDrbtCF3H/fc
гость



 прочитанное сообщение 11.09.2018 02:01     Сообщение для модератора  Сообщение для куратора темы     

Попробую покосплеить Капитана Очевидность.

Задание нечетко определено. Должны остаться все строки с повторяющимися элементами столбца 1 или только одна на каждый повторяющисся элемент 1-го столбца? Если все, то, наверное, нужно так:
CODE
aa[aa$xx %in% unique(aa$xx[duplicated(aa$xx)]),]


Всего благодарностей: 1Поблагодарили (1): plantago
guest: Алексей
IP-штамп: fr5VFZv2pvLGE
гость



 прочитанное сообщение 09.10.2018 14:12     Сообщение для модератора  Сообщение для куратора темы     

Добрый день, помогите, пожалуйста, решить задачу прогноза просмотров на месяц. Есть дата и количество просмотров на дату. Заранее спасибо. https://dropmefiles.com/y1Sbi
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 10.10.2018 01:30     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Мне кажется, что вряд ли здесь кто-нибудь будет решать задачу за Вас. Обычно тут отвечают на конкретные вопросы.
guest: Алексей
IP-штамп: fr5VFZv2pvLGE
гость



 прочитанное сообщение 10.10.2018 09:27     Сообщение для модератора  Сообщение для куратора темы     

Проблема в том, что я не знаю R и поэтому не могу задать какой-то конкретный вопрос...
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 10.10.2018 15:44     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(guest: Алексей @ 10.10.2018 09:27)
Ссылка на исходное сообщение  Проблема в том, что я не знаю R и поэтому не могу задать какой-то конкретный вопрос...


Ну вот ответ в атаче, но чем это Вам в таком варианте общения поможет?


PS шкала трансформации исходного ряда естественно логарифмическая

PPS ну и тут "аналитический" доверительный интервал, естественно перевыборками будет пошире (но с другой стороны недельный ритм уйдет и с практической точки зрения это похуже будет)

Сообщение было отредактировано PS2004R - 10.10.2018 16:35

Картинки:
_________________2018_10_10_10_30_14.png - кликните, чтобы открыть увеличенную картинку
_________________2018_10_10_10_30_14.png — (180.18к)   



Всего благодарностей: 2Поблагодарили (2): plantago, gosushade
Участник оффлайн! gosushade




 прочитанное сообщение 11.10.2018 09:37     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Большое спасибо, а можно сам скрипт получить?
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 11.10.2018 18:36     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(gosushade @ 11.10.2018 09:37)
Ссылка на исходное сообщение  Большое спасибо, а можно сам скрипт получить?



Это очень простой анализ, его технически способен сделать любой новичек в R. Жаль что Вы не хотите попытаться воспроизвести решение самостоятельно.

Может все таки попробуете?

Все самое главное я сказал -- Ваши данные напоминают какое то учебно задание, дан годовой интервал (это учебный год судя по всему) + один дополнительный месяц следующего (учебного года). Скорее всего это скачивание каких то рефератов учащимися из обменника.

Записываете файл екселя в формат csv, и читаете в R с помощью read.csv2() с параметром сохраняющим строковые значения без перекодировки в факторы.

Логарифмируете число посещений (log), преобразуете столбец данных в формат календарной даты (as.Data()). Без этого глазами зависимость и не увидишь толком smile.gif

Используется для собственно анализа пакет library(prophet) . Там один только параметр кастомный указать --- "использовать годовой патерн в модели".

Всего благодарностей: 1Поблагодарили (1): plantago
Участник оффлайн! gosushade




 прочитанное сообщение 12.10.2018 11:11     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Спасибо Вам за помощь. Попробовал реализовать по вашим комментариям, получилось не совсем как у Вас. Повторюсь, к сожалению, R я совсем не знаю..

library(prophet)
df<-read.csv2("views.csv")
dfl<-log(df[,1])
dft<-as.Date(df[,2])
df[,1]<-dfl
df[,2]<-dft
m <- prophet(df, growth = "logistic")
future <- make_future_dataframe(m, periods = 30)
forecast <- predict(m, future)
plot(m, forecast)
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 12.10.2018 13:44     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(gosushade @ 12.10.2018 11:11)
Ссылка на исходное сообщение  Спасибо Вам за помощь. Попробовал реализовать по вашим комментариям, получилось не совсем как у Вас. Повторюсь, к сожалению, R я совсем не знаю..

library(prophet)
df<-read.csv2("views.csv")
dfl<-log(df[,1])
dft<-as.Date(df[,2])
df[,1]<-dfl
df[,2]<-dft
m <- prophet(df, growth = "logistic")
future <- make_future_dataframe(m, periods = 30)
forecast <- predict(m, future)
plot(m, forecast)


если не вдаваться в доверительные интервалы сразу, то можно начать с такого m <- prophet(df.data.prophet, yearly.seasonality=T, seasonality.mode="multiplicative")

для логистического тренда надо настраивать лимиты, это в документации написано на пакет

https://facebook.github.io/prophet/docs/mul...easonality.html

Сообщение было отредактировано PS2004R - 12.10.2018 13:55
Участник оффлайн! gosushade




 прочитанное сообщение 17.10.2018 17:28     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

А был ли у кого-нибудь опыт интеграции qlik и R?
Участник оффлайн! garryhang




 прочитанное сообщение 20.10.2018 22:52     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Всем привет.
столкнулся со сложностью в форматировании таблицы:

исходная выглядит вот так:

id role playerid name
10000bc.htm Director rolandemmerich.htm Roland Emmerich
10000bc.htm Writer rolandemmerich.htm Roland Emmerich
10000bc.htm Actor haraldkloser.htm Harald Kloser


требуется создать новый dataframe такого вида:

id director writer actor etc....
xx 1 0 5

пытался с помощью команды table но все в "сухую"
буду рад помощи
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 02.11.2018 21:41     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(garryhang @ 20.10.2018 22:52)
Ссылка на исходное сообщение  Всем привет.
столкнулся со сложностью в форматировании таблицы:

исходная выглядит вот так:

id role playerid name
10000bc.htm Director rolandemmerich.htm Roland Emmerich
10000bc.htm Writer rolandemmerich.htm Roland Emmerich
10000bc.htm Actor haraldkloser.htm Harald Kloser
требуется создать новый dataframe такого вида:

id director writer actor etc....
xx 1 0 5

пытался с помощью команды table но все в "сухую"
буду рад помощи


как то совсем уж непонятно frown.gif
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 07.11.2018 14:48     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail
Вопрос
Вопрос по подготовке данных для направленной (directional) статистики.

Существуют ли готовые решения для расчета углового распределения величины по XY-матрице? Каждое значение матрицы есть среднее по квадрату с заданной стороной, контур ненулевых элементов - окружность, равноудаленная от краев. Сторона квадрата такова, что при требуемом угловом разрешении в большинстве случаев лишь часть квадрата пересекается со сканирующим сектором. Для подсчета значения вклада данного квадрата в заданном угле требуется определить площадь пересечения. Безусловно, это теоретически несложно, но реализация выглядит громоздкой - банально жалко времени на все эти выкрутасы. Можно, конечно, проинтерполировать значения, уменьшить сторону квадрата и тупо суммировать квадраты, центр которых внутри сканирующего сектора, но это как-то неспортивно и неэстетично.
Можно вращать сам растр, пересчитывая вклады квадратов с использованием предопределенного массива весов (площадей пересечения со сканирующим сектором, он будет одинаковым), но, подозреваю, выч.затраты тоже будут аховые. Вращение растра осуществлял через соответствующие функции для растровых изображений - конвертил матрицу в изображение, вращал изображение на произвольный угол, а потом восстанавливал значения матрицы, "подчищая" края контура.
Гуглением готового решения не нашел. Безрезультатно просмотрел мануал {circular}. Возможно, я использовал не самый правильный набор ключевых слов. Буду признателен, ежли кто присоветует что-нибудь дельное. Конечно, решение на основе R было бы наиболее предпочтительным.
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 07.11.2018 15:22     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(bf109xxl @ 07.11.2018 14:48)
Ссылка на исходное сообщение  Вопрос по подготовке данных для направленной (directional) статистики.

Существуют ли готовые решения для расчета углового распределения величины по XY-матрице? Каждое значение матрицы есть среднее по квадрату с заданной стороной,  контур ненулевых элементов - окружность, равноудаленная от краев. Сторона квадрата такова, что при требуемом угловом разрешении в большинстве случаев лишь часть квадрата пересекается со сканирующим сектором. Для подсчета значения вклада данного квадрата в заданном угле требуется определить площадь пересечения. Безусловно, это теоретически несложно, но реализация выглядит громоздкой - банально жалко времени на все эти выкрутасы. Можно, конечно, проинтерполировать значения, уменьшить сторону квадрата и тупо суммировать квадраты, центр которых внутри сканирующего сектора, но это как-то неспортивно и неэстетично.
Можно вращать сам растр, пересчитывая вклады квадратов с использованием предопределенного массива весов (площадей пересечения со сканирующим сектором, он будет одинаковым), но, подозреваю, выч.затраты тоже будут аховые. Вращение растра осуществлял через соответствующие функции для растровых изображений - конвертил матрицу в изображение, вращал изображение на произвольный угол, а потом восстанавливал значения матрицы, "подчищая" края контура.
Гуглением готового решения не нашел. Безрезультатно просмотрел мануал {circular}. Возможно, я использовал не самый правильный набор ключевых слов. Буду признателен, ежли кто присоветует что-нибудь дельное. Конечно, решение на основе R было бы наиболее предпочтительным.


Это по описанию алгоритма больше геостатистика. Соответствующий раздел spatial смотреть, но вот склероз не помню там новый пакет который все эти пересечения считает frown.gif
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение Сообщение на английском  07.11.2018 15:47     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

{RSAGA}?
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 07.11.2018 16:01     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(bf109xxl @ 07.11.2018 15:47)
Ссылка на исходное сообщение  {RSAGA}?


Это уже геостатистика (хотя наверное можно попытаться и на этом уровне попытаться найти подходящую функцию, но это очень большой труд получается)

Я имел в виду базовое представление всех этих секторов и их пересечений. Там какой то переход на новую библиотеку наметился, но вылетело из головы название (блин даже ставил же себе на работе посмотреть frown.gif ). Но все эти пересечения там точно есть, весьма просто представленные.
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 07.11.2018 16:44     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(PS2004R @ 07.11.2018 15:01)
Ссылка на исходное сообщение 
Я имел в виду базовое представление всех этих секторов и их пересечений.
...
Но все эти пересечения там точно есть, весьма просто представленные.


Мне пока не попадалось нигде. Но буду чертовски признателен за название. Хотелось бы избежать изобретательства велосипедов.
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 07.11.2018 17:11     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(bf109xxl @ 07.11.2018 16:44)
Ссылка на исходное сообщение  Мне пока не попадалось нигде. Но буду чертовски признателен за название. Хотелось бы избежать изобретательства велосипедов.


Вот описания разной степени детализации

https://www.r-spatial.org/r/2017/12/21/geoms.html

https://www.r-spatial.org/r/2017/11/13/perp-performance.html

https://edzer.github.io/UseR2017/
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 08.11.2018 11:14     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(PS2004R @ 07.11.2018 16:11)
Ссылка на исходное сообщение  Вот описания разной степени детализации

Спасибо, но, как мне кажется, это слишком слабо пересекается с задачей.

Поразмыслив, решил, что можно избежать громоздких вычислений, посчитав матрицы площадей пересечения для каждого значения угла лишь в одном полуквадранте, а дальше использовать симметрию и "пробегать" лишь затрагиваемые квадраты при суммировании.
Неизящно, но доступно моему пониманию и менее громоздко, чем представлялось вначале.

Тем не менее, я буду признателен за любые полезные советы касательно данной задачи - допускаю существование более подходящего решения.
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 27.11.2018 17:20     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Исполняю R-скрипт в пакетном режиме через вызов RScript в bat-файле. В какой-то момент нужно подождать нажатия клавиши <ввод>. Использую readLines() :
CODE
if (!interactive()) {
 cat("Press Enter to continue...")
 invisible(readLines(con = "stdin", n = 1))
}


R ver.3.5.1, на десктопе с Win10 код работает, а вот на ноуте с Win7 - нет. В чем может быть причина? Буду признателен за подсказку.
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 12.12.2018 18:52     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Все, что могу предметного сказать -- под Ubuntu 16.04 работает.
А предположить могу то, что дело в настройках винды.
Участник оффлайн! Ulvhare




 прочитанное сообщение 13.12.2018 18:16     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Здравствуйте!
Довожу до ума методику измерения целлюлазной активности в пробах из кишечника мелких млеков. Пробы экстрагируются в глицерине или буфере, затем (с разбавлением) инкубируются в присутствии МУФ-Ц, мерится на флуориметре. По количеству получающегося МУФ определяется активность.
Текущая задача - оценить влияние экстрагента и концентрации химуса в измерительной кювете. Слишком мало химуса - банально мало фермента, много - гасится флуоресценция.
Получается примерно такая табличка:
CODE

# A tibble: 38 x 4
  sample type     C_chym      cbha
  <chr>  <fct>     <dbl>     <dbl>
1 25     глицерин  0.005 0.000227
2 26     глицерин  0.005 0.000151
3 27     глицерин  0.005 0.0000749
4 28     глицерин  0.005 0.000150
5 29     глицерин  0.005 0.000149
6 30     глицерин  0.005 0.0000746
7 32     глицерин  0.005 0.000108
8 33     глицерин  0.005 0.0000524
9 34     глицерин  0.005 0.000164
10 35     буфер     0.005 0.0000599
# ... with 28 more rows

sample - номер пробирки
C_chym - концентрация химуса (0.005, 0.01, 0.015) в кювете
cbha - целлобиогидролазная активность

Предполагаю использовать ANOVA/Kruskal-Wallis (в зависиомости от тестов на нормальность) для проверки влияния экстрагента и Спирменовскую корреляцию для проверки влияния концентрации. Но не понимаю, как учитывать повторности. Все пробы взяты из слепой кишки одного и того же зверя (здесь - домашний кролик), 10 пробирок - в глицерин, 10 - в буфер. Из каждой пробирки по 3 разведения. Т.е., выборки получаются зависимыми, и как-то надо это учесть?
Разбросы значений cbha велики, т.к. целлюлазы не плавают в растворе, а сидят эдакими тяжами на микросимбионтах кишечника, которые в свою очередь сидят на частичках химуса, и сколько этих частичек попало в пробирку - случайный процесс. Но усреднённо метод работает (мне важно, сколько целлюлозы на зверя гидролизуется, точнее, сколько целлобиозы образуется).

Вопрос - как обрабатывать повторности? Какие ещё методы посоветуете?
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 13.12.2018 21:50     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(Ulvhare @ 13.12.2018 18:16)
Ссылка на исходное сообщение  Здравствуйте!
Довожу до ума методику измерения целлюлазной активности в пробах из кишечника мелких млеков. Пробы экстрагируются в глицерине или буфере, затем (с разбавлением) инкубируются в присутствии МУФ-Ц, мерится на флуориметре. По количеству получающегося МУФ определяется активность.
Текущая задача - оценить влияние экстрагента и концентрации химуса в измерительной кювете. Слишком мало химуса - банально мало фермента, много - гасится флуоресценция.
Получается примерно такая табличка:
CODE

# A tibble: 38 x 4
  sample type     C_chym      cbha
  <chr>  <fct>     <dbl>     <dbl>
1 25     глицерин  0.005 0.000227
2 26     глицерин  0.005 0.000151
3 27     глицерин  0.005 0.0000749
4 28     глицерин  0.005 0.000150
5 29     глицерин  0.005 0.000149
6 30     глицерин  0.005 0.0000746
7 32     глицерин  0.005 0.000108
8 33     глицерин  0.005 0.0000524
9 34     глицерин  0.005 0.000164
10 35     буфер     0.005 0.0000599
# ... with 28 more rows

sample - номер пробирки
C_chym - концентрация химуса (0.005, 0.01, 0.015) в кювете
cbha - целлобиогидролазная активность

Предполагаю использовать ANOVA/Kruskal-Wallis (в зависиомости от тестов на нормальность) для проверки влияния экстрагента и Спирменовскую корреляцию для проверки влияния концентрации. Но не понимаю, как учитывать повторности. Все пробы взяты из слепой кишки одного и того же зверя (здесь - домашний кролик), 10 пробирок - в глицерин, 10 - в буфер. Из каждой пробирки по 3 разведения. Т.е., выборки получаются зависимыми, и как-то надо это учесть?
Разбросы значений cbha велики, т.к. целлюлазы не плавают в растворе, а сидят эдакими тяжами на микросимбионтах кишечника, которые в свою очередь сидят на частичках химуса, и сколько этих частичек попало в пробирку - случайный процесс. Но усреднённо метод работает (мне важно, сколько целлюлозы на зверя гидролизуется, точнее, сколько целлобиозы образуется).

Вопрос - как обрабатывать повторности? Какие ещё методы посоветуете?



Это больше напоминает управляемый эксперимент, а не дисперсионный анализ.

Имеем функцию от нескольких аргументов, требуется восстановить градиент (ну и сами значения до кучи).

Всего благодарностей: 1Поблагодарили (1): Ulvhare
Участник оффлайн! Ulvhare




 прочитанное сообщение 14.12.2018 20:24     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(PS2004R @ 13.12.2018 22:50)
Ссылка на исходное сообщение  Это больше напоминает управляемый эксперимент, а не дисперсионный анализ.

Имеем функцию от нескольких аргументов, требуется восстановить градиент (ну и сами значения до кучи).


Спасибо за отклик, но непонятно, что вы имеете в виду. Объясните подробнее, если не затруднит, или ссылочку какую. Пока гугл на "r repetitions" мне ничего хорошего не выдал, а "repeated measures" и "replications" трактуются им совсем в другом контексте.
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 14.12.2018 21:37     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(Ulvhare @ 14.12.2018 20:24)
Ссылка на исходное сообщение  Спасибо за отклик, но непонятно, что вы имеете в виду. Объясните подробнее, если не затруднит, или ссылочку какую. Пока гугл на "r repetitions" мне ничего хорошего не выдал, а "repeated measures" и "replications" трактуются им совсем в другом контексте.


При чем тут дисперсионный анализ? Результаты проведенного эксперимента по факторизированному плану можно и глазами посмотреть. У вас есть план эксперимента изучающий зависимость целевого показателя от входных параметров, значит есть и "поверхность отклика". Эту поверхность отклика можно построить и посмотреть.

https://cran.r-project.org/web/packages/rsm/index.html
https://cran.r-project.org/web/packages/vdg/index.html

ну и вообще в разделе https://cran.r-project.org/web/views/ExperimentalDesign.html

Всего благодарностей: 1Поблагодарили (1): Ulvhare
Участник оффлайн! Den-N
Постоянный участник



 прочитанное сообщение 15.12.2018 15:43     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(Ulvhare @ 13.12.2018 21:16)
Ссылка на исходное сообщение  
...
Вопрос - как обрабатывать повторности? Какие ещё методы посоветуете?

Вопрос не имеет прямого отношения к R. Лучше создать отдельную ветку, определиться с методом анализа, а уже потом, возможно, сюда. Отвечу в другую ветку.
Фрагмент данных тоже нужен в формате, чтобы их можно было обсчитать, а не только понять структуру - чтобы обсуждать анализ с конкретными, а не абстрактными цифрами.

Сообщение было отредактировано Den-N - 15.12.2018 15:49

Всего благодарностей: 2Поблагодарили (2): plantago, Ulvhare
Участник оффлайн! Ulvhare




 прочитанное сообщение 17.12.2018 21:22     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Создал отдельную тему, там прицепил таблицу со всеми имеющимися данными.
Участник оффлайн! Алекс3212




 прочитанное сообщение 10.01.2019 17:00     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Доброго времени суток, уважаемые пользователи R.
Изучаю R, но наткнулся на одну проблему (для меня) и не могу без сторонней помощи понять как решить ее, на форумах толком не описано из тех, что я читал в книгах тоже.
Задача: Сделать гистограмму производительности по дням (как в Excel обычно делают), сделать заливку цветом по условию из другого столбца. 3 условия, был дождь, был, ветер и хорошая погода.
Нужно это, чтобы нагляднее показать снижение производительности в дни неблагоприятной погоды.
Есть 3 столбца, 1 дата в формате день, месяц, год.
2 столбец условие, т.е. дождь, ветер или хорошая погода
3 столбец сама производительность.
Вроде организовано все правильно в самом файле Excel, каждая строка это отдельный день, который имеет признак по погоде и значение производительности в разных столбцах.
Но, вот что получается у меня и я явно, что то не доделываю.
library("ggplot2")
library(readxl)
Weather.1 <- read_xlsx("weather.xlsx")
ggplot(data = Weather.1, aes(x = Prod., group = Weath., fill = Weath.))+geom_histogram()

или вот так аналогично получается
qplot(Weather.1$Prod., col=as.factor(Weather.1$Weath.), fill=Weather.1$Weath., color=Weather.1$Weath., bins=30)


Большая благодарность всем, кто подскажет, т.к. я кажется в тупик пока попал

Картинки:
картинка: Screenshot_11.png
Screenshot_11.png — (24.4к)   

Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 10.01.2019 18:23     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Я не совсем понял, что же именно хочется получить.
Но, наверное, Вам нужен просто barplot().
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение Сообщение на английском  11.01.2019 13:12     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

CODE
ggplot(Weather.1,
         aes(x = <Date column name>,
               y = Prod,
               fill = Weath)) +
 geom_bar(stat = "identity")


Всего благодарностей: 2Поблагодарили (2): plantago, Алекс3212
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 11.01.2019 19:03     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Все-таки я убежден, что ggplot -- неправильная графическая подсистема. Было бы лучше, если бы grammar of graphics Wilkinson так бы и оставалась в SYSTAT, а в R бы развивалась тщательно продуманная графическая подсистема Cleveland. В первой прекрасен логический подход, но визуальная составляющая -- просто мелькание цветных пятен, не совместимое с правильным анализом и пониманием данных. С цветом удобно только манипулировать людьми, "lie with statistics".
Кстати, "отцы" R, как я вижу, очень настороженно относятся и к ggplot, и ко всем вообще tidyverse извращениям (как, скажем, к Haskel-подобному magrittr). Такие люди как Wickham показывают, насколько уязвим свободный софт в руках энергичных, творческих, но абсолютно упертых людей. Другой такой пример (похуже) -- Poettering с systemd.
Трагедии никакой не происходит, просто обидно, что люди учатся не базовому R, который, на мой вкус, замечательный интеллектуальный продукт, а чему-то непонятному. Как tibble, где убраны row.names потому что они просто не нравятся Wickham. wink.gif
Участник оффлайн! bf109xxl
Участник



 прочитанное сообщение 12.01.2019 00:28     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Я не в восторге от ggplot. Но как средство решения очень многих задач он меня вполне удовлетворяет. Высококачественную сложную графику для научной публикации в качестве некоей разовой задачи я буду скорее ляпать в чем-то другом (не в R вообще) - МНЕ ЛИЧНО так будет быстрее и проще. А а вот автоматически генерить ежемесячную презентацию по анализу производительности предприятия на сотню с лишним слайдов - с помощью ggplot. Или все так же автоматически генерить по mapping-у (матрица, каждое значение которой соответствует плотности в малом квадрате) картинку с отображением самого mapping-а (heatmap) плюс наложенные графики радиального (xy-plot) и углового (circular diagram) распределений. Средствами базовой графики, подозреваю, реализовать это будет гораздо сложнее. Впрочем, если кто мне продемонстрирует простое решение задачи с mapping-ом в базовой графике, то готов изменить свою точку зрения - честно признаю, что базовой графикой я пользуюсь реже и знаю ее возможности хуже.
Я это все к тому, что даже если ggplot и извращение, то в очень многих случаях это полезное и нужное извращение. И я этим извращением не страдаю, но даже слегка наслаждаюсь.

"Пусть расцветают сто цветов, пусть соперничают сто школ." (с) Великий Кормчий

Всего благодарностей: 1Поблагодарили (1): plantago
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 12.01.2019 08:26     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Не возражаю. Просто начинать изучать R с него неправильно.
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 12.01.2019 20:36     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Конечно, можно возразить, что не дело софта чему-то учить, он просто должен предоставлять все возможности, тем самые "сто цветов". (Но вспомните, что случилось со "ста цветами", кстати.) Однако, ситуация такова, что только так все и учатся.
===
Я знаю, что нужно сделать. Надо написать пакет типа "ggplotminus" который будет грузить из-под себя ggplot2, но убирать при этом все, несовместимое с принципами Cleveland!

Всего благодарностей: 1Поблагодарили (1): Ulvhare

*




Кнопка "Транслит" перекодирует
текст из транслита в кирилицу.
Правила перекодировки здесь;
текст в квадратных скобках'[]'
не преобразуется.
Имя:

 преобразовывать смайлики · показать смайлики
Назначение кнопок:

   Поблагодарить автора сообщения — поблагодарить автора
   Удалить сообщение — удалить
   Редактировать сообщение — редактировать
   Поместить сообщение в колонку новостей — поместить в колонку новостей
   Цитировать — цитировать сообщение
   не входит в цитирование/входит в цитирование — цитировать несколько
   Отметить СПАМ-сообщение — обозначить спам
   Сообщение для модератора — связь с модератором
   Участник онлайн!/Участник оффлайн! — автор онлайн/оффлайн
   Фотография — фотография автора

   - остальные обозначения -
 
   *
« Предыдущая тема · Биофизика и матметоды в биологии · Следующая тема »
Быстрый ответДобавить сообщение в темуСоздать новую тему

Rambler   molbiol.ru - методы, информация и программы для молекулярных биологов              

 ·  Викимарт - все интернет-магазины в одном месте  ·  Доска объявлений Board.com.ua  · 
--- сервер арендован в компании Hetzner Online, Германия ---
--- администрирование сервера: Intervipnet ---

Хеликон · Диаэм · ИнтерЛабСервис · Beckman Coulter · SkyGen · ОПТЭК · BIOCAD · Евроген · Синтол · БиоЛайн · Sartorius · Химэксперт · СибЭнзим · Tecan · Даниес · НПП "ТРИС" · Биалекса · ФизЛабПрибор · Genotek · АТГ Сервис Ген · Биоген-Аналитика
Ваш форум  ·  redactor@molbiol.ru  ·  реклама  ·  Дата и время: 29.03.24 14:33
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft