Molbiol.ru | О проекте | Справочник | Методы | Растворы | Расчёты | Литература | Орг.вопросы Web | Фирмы | Coffee break | Картинки | Работы и услуги | Биржа труда | Zbio-wiki NG SEQUENCING · ЖИЗНЬ РАСТЕНИЙ · БИОХИМИЯ · ГОРОДСКИЕ КОМАРЫ · А.А.ЛЮБИЩЕВ · ЗООМУЗЕЙ Темы за 24 часа [ Вход* | Регистрация* ] Форум: | |
mpyat Участник Москва |
Никто не работал в R с пакетами для параллельных вычислений? Вчера обнаружил прелюбопытнейшую (на первый взгляд) статью - выжимка абстракта: Results We have designed and implemented an R add-on package, R/parallel, that extends R by adding user-friendly parallel computing capabilities. With R/parallel any bioinformatician can now easily automate the parallel execution of loops and benefit from the multicore processor power of today's desktop computers. Using a single and simple function, R/parallel can be integrated directly with other existing R packages. With no need to change the implemented algorithms, the processing time can be approximately reduced N-fold, N being the number of available processor cores. Conclusion R/parallel saves bioinformaticians time in their daily tasks of analyzing experimental data. It achieves this objective on two fronts: first, by reducing development time of parallel programs by avoiding reimplementation of existing methods and second, by reducing processing time by speeding up computations on current desktop computers. Future work is focused on extending the envelope of R/parallel by interconnecting and aggregating the power of several computers, both existing office computers and computing clusters. Конечно, ускориться в два раза почти бесплатно на своей рабочей машине - это очень здорово! Скачал их пакет, пришлось новый R устанавливать (жить под 2.6 он не захотел). Кстати, в CRAN пакета тоже нет, только у них на сайте. Согласно документации накропал простенькую тестовую функцию: myfunc <- function( ncycles, nsort) { Result=numeric(0); if( "rparallel" %in% names( getLoadedDLLs()) ) { runParallel(resultVar="Result", resultOp="rbind" ) #resultVar - which variables within the loop will store the calculation results after each iteration # resultOp - how these variables have to be 'operated' or 'reduced'. #As long as each iteration is independent from the others, each iteration will generate #an independent set of result variables. All these variable sets have to be #reduced to a single one with the values that it will be obtained in the case #the loop was run sequentially. #Examples of reduce operations (i.e. values of resultOp) are: max,'+' or rbind. } else { # 2. Start of loop for(i in 1:ncycles) { #Make some calculations tmparr = rnorm(nsort) tmpsort = sort(tmparr) tempResult = tmpsort[1]; Result=rbind(Result,tempResult); } } return( Result ) } Так вот, параллельная версия действительно загружает оба ядра, но работает на ~10% медленнее (!) чем обычная версия которая грузит только одно ядро. Cтатья "highly aссessed", там говорят что у них все замечательно ускоряется Что я делаю не так? Надеюсь, тема вызовет интерес |
PS2004R Постоянный участник |
(mpyat @ 10.10.2008 09:54) Коллеги! Никто не работал в R с пакетами для параллельных вычислений? Вчера обнаружил прелюбопытнейшую (на первый взгляд) статью - выжимка абстракта: Results We have designed and implemented an R add-on package, R/parallel, that extends R by adding user-friendly parallel computing capabilities. With R/parallel any bioinformatician can now easily automate the parallel execution of loops and benefit from the multicore processor power of today's desktop computers. Using a single and simple function, R/parallel can be integrated directly with other existing R packages. With no need to change the implemented algorithms, the processing time can be approximately reduced N-fold, N being the number of available processor cores. Conclusion R/parallel saves bioinformaticians time in their daily tasks of analyzing experimental data. It achieves this objective on two fronts: first, by reducing development time of parallel programs by avoiding reimplementation of existing methods and second, by reducing processing time by speeding up computations on current desktop computers. Future work is focused on extending the envelope of R/parallel by interconnecting and aggregating the power of several computers, both existing office computers and computing clusters. Конечно, ускориться в два раза почти бесплатно на своей рабочей машине - это очень здорово! Скачал их пакет, пришлось новый R устанавливать (жить под 2.6 он не захотел). Кстати, в CRAN пакета тоже нет, только у них на сайте. Согласно документации накропал простенькую тестовую функцию: myfunc <- function( ncycles, nsort) { Result=numeric(0); if( "rparallel" %in% names( getLoadedDLLs()) ) { runParallel(resultVar="Result", resultOp="rbind" ) #resultVar - which variables within the loop will store the calculation results after each iteration # resultOp - how these variables have to be 'operated' or 'reduced'. #As long as each iteration is independent from the others, each iteration will generate #an independent set of result variables. All these variable sets have to be #reduced to a single one with the values that it will be obtained in the case #the loop was run sequentially. #Examples of reduce operations (i.e. values of resultOp) are: max,'+' or rbind. } else { # 2. Start of loop for(i in 1:ncycles) { #Make some calculations tmparr = rnorm(nsort) tmpsort = sort(tmparr) tempResult = tmpsort[1]; Result=rbind(Result,tempResult); } } return( Result ) } Так вот, параллельная версия действительно загружает оба ядра, но работает на ~10% медленнее (!) чем обычная версия которая грузит только одно ядро. Cтатья "highly aссessed", там говорят что у них все замечательно ускоряется Что я делаю не так? Надеюсь, тема вызовет интерес тема обсуждалась в R-help, из того что пробовал сам: pnmath собирается и работает на моем дебиан линуксе. "Juan Pablo Romero Méndez" <jpablo.romero@gmail.com> writes: > > Hello, > > > > The problem I'm working now requires to operate on big matrices. > > > > I've noticed that there are some packages that allows to run some > > commands in parallel. I've tried snow and NetWorkSpaces, without much > > success (they are far more slower that the normal functions) Do you mean like this? > > library(Rmpi) > > mpi.spawn.Rslaves(nsl=2) # dual core on my laptop > > m <- matrix(0, 10000, 1000) > > system.time(x1 <- apply(m, 2, sum), gcFirst=TRUE) user system elapsed 0.644 0.148 1.017 > > system.time(x2 <- mpi.parApply(m, 2, sum), gcFirst=TRUE) user system elapsed 5.188 2.844 10.693 ? (This is with Rmpi, a third alternative you did not mention; 'elapsed' time seems to be relevant here.) The basic problem is that the overhead of dividing the matrix up and communicating between processes outweighs the already-efficient computation being performed. One solution is to organize your code into 'coarse' grains, so the FUN in apply does (considerably) more work. A second approach is to develop a better algorithm / use an appropriate R paradigm, e.g., > > system.time(x3 <- colSums(m), gcFirst=TRUE) user system elapsed 0.060 0.000 0.088 (or even faster, x4 <- rep(0, ncol(m)) A third approach, if your calculations make heavy use of linear algebra, is to build R with a vectorized BLAS library; see the R Installation and Administration guide. A fourth possibility is to use Tierney's 'pnmath' library mentioned in this thread The README file needs to be consulted for the not-exactly-trivial (on my system) task of installing the package. Specific functions are parallelized, provided the length of the calculation makes it seem worth-while. > > system.time(exp(m), gcFirst=TRUE) user system elapsed 0.108 0.000 0.106 > > library(pnmath) > > system.time(exp(m), gcFirst=TRUE) user system elapsed 0.096 0.004 0.052 (elapsed time about 2x faster). Both BLAS and pnmath make much better use of resources, since they do not require multiple R instances. None of these approaches would make a colSums faster -- the work is just too small for the overhead. Martin > > My problem is very simple, it doesn't require any communication > > between parallel tasks; only that it divides simetricaly the task > > between the available cores. Also, I don't want to run the code in a > > cluster, just my multicore machine (4 cores). > > > > What solution would you propose, given your experience? > > > > Regards, > > > > Juan Pablo > > > > ______________________________________________ > > R-help@r-project.org mailing list > > > > PLEASE do read the posting guide > > and provide commented, minimal, self-contained, reproducible code. -- Martin Morgan Computational Biology / Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: Arnold Building M2 B169 Phone: (206) 667-2793 ______________________________________________ R-help@r-project.org mailing list pnmath currently uses up to 8 threads (i.e. 1, 2, 4, or 8). getNumPnmathThreads() should tell you the maximum number used on your system, which should be 8 if the number of processors is being identified correctly. With the size of m this calculation should be using 8 threads, but the exp calculation is fairly fast, so the overhead is noticable. On a Linux box with 4 dual-core AMD processors I get > m <- matrix(0, 10000, 1000) > mean(replicate(10, system.time(exp(m), gcFirst=TRUE))["elapsed",]) [1] 0.3859 > library(pnmath) > mean(replicate(10, system.time(exp(m), gcFirst=TRUE))["elapsed",]) [1] 0.0775 A similar example using qbeta, a slower function, gives > p <- matrix(0.5,1000,1000) > setNumPnmathThreads(1) [1] 1 > mean(replicate(10, system.time(qbeta(p,2,3), gcFirst=TRUE))["elapsed",]) [1] 7.334 > setNumPnmathThreads(8) [1] 8 > mean(replicate(10, system.time(qbeta(p,2,3), gcFirst=TRUE))["elapsed",]) [1] 0.9576 On an 8-core Intel/OS X box the improvement for exp is much less, but is similar for qbeta. luke On Thu, 10 Jul 2008, Martin Morgan wrote: > "Juan Pablo Romero Méndez" <jpablo.romero@gmail.com> writes: > >> Just out of curiosity, what system do you have? >> >> These are the results in my machine: >> >>> system.time(exp(m), gcFirst=TRUE) >> user system elapsed >> 0.52 0.04 0.56 >>> library(pnmath) >>> system.time(exp(m), gcFirst=TRUE) >> user system elapsed >> 0.660 0.016 0.175 >> > > from cat /proc/cpuinfo, the original results were from a 32 bit > dual-core system > > model name : Intel® Core2 CPU T7600 @ 2.33GHz > > Here's a second set of results on a 64-bit system with 16 core (4 core > on 4 physical processors, I think) > >> mean(replicate(10, system.time(exp(m), gcFirst=TRUE))["elapsed",]) > [1] 0.165 >> mean(replicate(10, system.time(exp(m), gcFirst=TRUE))["elapsed",]) > [1] 0.0397 > > model name : Intel® Xeon® CPU X7350 @ 2.93GHz > > One thing is that for me in single-thread mode the faster processor > actually evaluates slower. This could be because of 64-bit issues, > other hardware design aspects, the way I've compiled R on the two > platforms, or other system activities on the larger machine. > > A second thing is that it appears that the larger machine only > accelerates 4-fold, rather than a naive 16-fold; I think this is from > decisions in the pnmath code about the number of processors to use, > although I'm not sure. > > A final thing is that running intensive tests on my laptop generates > enough extra heat to increase the fan speed and laptop temperature. I > sort of wonder whether consumer laptops / desktops are engineered for > sustained use of their multiple core (although I guess the gaming > community makes heavy use of multiple cores). > > Martin > > > >> Juan Pablo >> >> >>> >>>> system.time(exp(m), gcFirst=TRUE) >>> user system elapsed >>> 0.108 0.000 0.106 >>>> library(pnmath) >>>> system.time(exp(m), gcFirst=TRUE) >>> user system elapsed >>> 0.096 0.004 0.052 >>> >>> (elapsed time about 2x faster). Both BLAS and pnmath make much better >>> use of resources, since they do not require multiple R instances. >>> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> >> PLEASE do read the posting guide >> and provide commented, minimal, self-contained, reproducible code. > > -- Luke Tierney Chair, Statistics and Actuarial Science Ralph E. Wareham Professor of Mathematical Sciences University of Iowa Phone: 319-335-3386 Department of Statistics and Fax: 319-335-3017 Actuarial Science 241 Schaeffer Hall email: luke@stat.uiowa.edu Iowa City, IA 52242 WWW: ______________________________________________ R-help@r-project.org mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code.
|
guest: LuK IP-штамп: fr9lFjSf0LJe. гость |
Группа называется "Язык программирования R для статистических вычислений (The R Project)" и находится по адресу С уважением, LuK. |
guest: Алёна IP-штамп: frwtRhwt.7O.w гость |
Я хочу оценить параметры для гамма-распределения по имеющейся статистике методом максимального правдоподобия. Спасибо! |
plantago Постоянный участник |
Подходит? |
tensor Участник Belarus |
Подскажите пожалуйста как произвести расчет U Манна-Уитни в R. И второй вопрос - насколько я понял при импорте таблиц из других форматов в источнике не должно быть пустых ячеек (выпадающих значений). Что вставить на их место для корректного импорта в R? Копирование каждой переменной (варианты) по отдельности - неприемлемо, потому что порой количество их выходит за 300 - например в офтальмологических исследованиях, иммунном фенотипировании, онкологии. Есть ли возможность автоматической замены значений пустых ячеек на NA при импорте данных? |
-daf- |
U=W + m*(m+1)/2, где m - размер x. Второй вопрос: а каким способом вы импортируете данные? функция read.table с этим легко справляется Сообщение было отредактировано -daf- - 11.08.2009 15:04 |
voliadis |
Возмем пример из group1<-c(1.34,1.47,1.48,1.49,1.62,1.67,1.7,1.7,1.7,1.73,1.81,1.84,1.9,1.96,2,2,2.19,2.29,2.29,2.41,2.41,2.46,2.5,2.6,2.8,2.8,3.07,3.3) group2<-c(0.98,1.18,1.25,1.33,1.38,1.4,1.49,1.57,1.72,1.75,1.8,1.82,1.86,1.9,1.97,2.04,2.14,2.18,2.49,2.5,2.55,2.57,2.64,2.73,2.77,2.9,2.94) Если сделать так: wilcox.test(group1, group2), то W = 405.5. Однако, SPSS и Statistica дают результат U = 350.5. Формула, указанная выше, здесь не сработает. Но если в R написать wilcox.test(group2, group1), то получим W = 350.5. Мы получили, что W=U. В любом случае p-value = 0.6494 ( R ) и 0,643 (SPSS, Statistica). Вывод: Какую бы величину U или W не давали нам программы, величина p одинакова. И это хорошо
|
tensor Участник Belarus |
|
-daf- |
W <- function(x,y) { sum(sapply(x,function(xi) sum(y<xi)+sum(y==xi)/2)) } Именно эта статистика и вычисляется в 'wilcox.test'. U-статистика обычно определяется как сумма ранков элементов x в объедененном векторе т.е.(в c(x,y)). Ранк обычно определяется также как в функции 'rank', т.е. для одинаковых значение вычисляется средний ранк. U <- function(x,y){sum(rank(c(x,y))[seq_along(x)])} Путем не хитрых манипуляций можно понять что эти две статистики связаны соотношением U(x,y) = W(x,y) + length(x)*(length(x)+1)/2 Вот например: > W <- function(x,y) { sum(sapply(x,function(xi) sum(y<xi)+sum(y==xi)/2)) } > U <- function(x,y){sum(rank(c(x,y))[seq_along(x)])} > group1<-c(1.34,1.47,1.48,1.49,1.62,1.67,1.7,1.7,1.7,1.73,1.81,1.84,1.9,1.96,2,2,2.19,2.29,2.29,2.41,2.41,2.46,2.5,2.6,2.8,2.8,3.07,3.3) > group2<-c(0.98,1.18,1.25,1.33,1.38,1.4,1.49,1.57,1.72,1.75,1.8,1.82,1.86,1.9,1.97,2.04,2.14,2.18,2.49,2.5,2.55,2.57,2.64,2.73,2.77,2.9,2.94) > wilcox.test(group1,group2)$statistic W 405.5 > W(group1,group2) [1] 405.5 > U(group1,group2) [1] 811.5 > W(group1,group2)+length(group1)*(length(group1)+1)/2 [1] 811.5 кстати есть еще пакет 'coin': > library(coin) > data <- c(group1, group2) > groups <- factor(c(rep('group1', length(group1)),rep('group2', length(group2)))) > statistic(wilcox_test(data~groups),type='linear') group1 811.5 он как раз вычисляет U-статистику. SPSS и Statistica по-видимому выдают другие статистики, я с ними не работал, но похоже что они выдают W(y,x) (все равно что в определении знак > заменить на <). Значения p конечно будут везде похожими, но точное значение p вычислить сложно, зато статистика вычисляется точно и если не запутаться в определениях то пользоваться ей гораздо проще. Вот например я получил несколько значений p для нашего примера: > wilcox.test(group1, group2, exact=F)$p.value [1] 0.6493547 > wilcox.exact(group1, group2, exact=T)$p.value [1] 0.6458658 > pvalue(wilcox_test(data~groups, distribution='exact')) [1] 0.6488684 > pvalue(wilcox_test(data~groups, distribution='approximate')) [1] 0.626 > pvalue(wilcox_test(data~groups, distribution='asymptotic')) [1] 0.6433081 |
dlinnosheee Постоянный участник |
Есть ли в R специальные механизмы для создания онлайн-приложений? Типа чтобы пользователь на сайте ввел данные, они обработались на сервере и на выходе результаты (всякие графики) опять на сайте. Если такая фича есть, то насколько просто ей пользоваться (по сравнению с использованием для вычислений C++, Fortran или JAVA). |
plantago Постоянный участник |
|
tensor Участник Belarus |
|
dlinnosheee Постоянный участник |
1) Что проще в освоении и использовании, R или SAGE на базе Python? 2) Есть ли в R или в пакетах к нему встроенный оператор аналитического дифференцирования (как в Matematica, чтобы результат был не цифра, а математическое выражение). 3) Как в R хранится код созданный пользователем (в каких файлах, куда он девается восле выполнения команд во встроенном базовом GUI)? |
PS2004R Постоянный участник |
(dlinnosheee @ 13.09.2009 13:57) я немного вник в R, умею уже делать в нем элементарные вещи. По ходу я продолжаю отсматривать другие скриптовые языки. Возникли вопросы: 1) Что проще в освоении и использовании, R или SAGE на базе Python? 2) Есть ли в R или в пакетах к нему встроенный оператор аналитического дифференцирования (как в Matematica, чтобы результат был не цифра, а математическое выражение). 3) Как в R хранится код созданный пользователем (в каких файлах, куда он девается восле выполнения команд во встроенном базовом GUI)? 1) Как то очень флеймообразующе звучит... Для ответа на вопрос надо указывать что конкретно (с приведением кода) надо решить. 2) 3) Все объявленные функции хранятся между сеансами в дампе памяти. Очень удобно и классически для сред анализа. Второй подход --- писать их в текстовом файле в виде программы. Облегчает запуск на других платформах, решая вопросы совместимости.
|
PS2004R Постоянный участник |
(dlinnosheee @ 13.09.2009 13:57) я немного вник в R, умею уже делать в нем элементарные вещи. По ходу я продолжаю отсматривать другие скриптовые языки. Возникли вопросы: 1) Что проще в освоении и использовании, R или SAGE на базе Python? Кстати, если очень привычка к питону, то можно работать с R из питона. python-rpy - Python interface to the GNU R language and environment python-rpy-doc - Python interface to the GNU R language (documentation package) |
dlinnosheee Постоянный участник |
(PS2004R @ 14.09.2009 08:32) 2) Так maxima это не R. Это скорее ближе к SAGE. И как ее к R ее подключить - это надо разбираться еще... |
PS2004R Постоянный участник |
(dlinnosheee @ 15.09.2009 10:01) Так maxima это не R. Это скорее ближе к SAGE. И как ее к R ее подключить - это надо разбираться еще... Первые линки в поиске соответственно что может делать R, Так что надо посчитать то в R? Напоминаю, этот форум называется "R Help". Про возможность работать с R из питона написано. Sage обсуждать здесь... Загадка: зеленое, сидит под мостом, на т называется. |
dlinnosheee Постоянный участник |
(PS2004R @ 15.09.2009 12:46) Так что надо посчитать то в R? Напоминаю, этот форум называется "R Help". Про возможность работать с R из питона написано. Sage обсуждать здесь... Моя задача формулируется не "посчитать", а создать онлайн-приложение. Математика - динамическое программирование, расчеты длительные, объем памяти большой. Считаться думаю будет на сервере, а клиент вводит только свои данные. На данный момент часть ядра которая завязана на вычисления работает на фортране. Скриптовых языков типа R или Python я не знаю, но готов выучить и переписать на нем (это для тренировки тоже). Решил остановиться на R потому что (1) есть вроде возмодность создавать веб-интерфейсы и (2) популярный язык вроде становится, в жизни пригодяится. С практической точки зрения, меня сейчас интересует как ввод-вывод онлайн организовать. |
PS2004R Постоянный участник |
(dlinnosheee @ 15.09.2009 22:10) Моя задача формулируется не "посчитать", а создать онлайн-приложение. Математика - динамическое программирование, расчеты длительные, объем памяти большой. Считаться думаю будет на сервере, а клиент вводит только свои данные. На данный момент часть ядра которая завязана на вычисления работает на фортране. Скриптовых языков типа R или Python я не знаю, но готов выучить и переписать на нем (это для тренировки тоже). Решил остановиться на R потому что (1) есть вроде возмодность создавать веб-интерфейсы и (2) популярный язык вроде становится, в жизни пригодяится. С практической точки зрения, меня сейчас интересует как ввод-вывод онлайн организовать. CRAN Task View: Optimization and Mathematical Programming Ну и техника написания интерфейса к существующему фортран коду. |
PS2004R Постоянный участник |
(dlinnosheee @ 13.09.2009 13:57) 2) Есть ли в R или в пакетах к нему встроенный оператор аналитического дифференцирования (как в Matematica, чтобы результат был не цифра, а математическое выражение). вот попалось в списке рассылке |
marinakom Участник |
Для построения множественной линейной регрессии пошаговым способом (включением, исключением или stepwise) рекомендуют функцию stepAIC( ) из пакета MASS. Вопросы: 1) Что есть AIC? как оно расшифровывается? 2) У меня сложилось ощущение, что метод поиска лучших предикторов в R чуток иной, нежели F-включения или исключения, реализованный в других статистических пакетах, да или нет? 3) Получается, что данная функция только помогает выбрать предикторы, а чтоб проверить модель на их основе, надо её просто построить и до ума довести руками, так? Не задавала бы этого вопроса, если б незначимые предикторы не оставались в подобной модели (при построении модели методом исключения -- backward). 4) Может, ещё какой путь есть для пошаговой регрессии? 5) Как стандартизованные (beta) коэффициенты регрессии найти (кроме как ручками стандартизовать каждую переменную и перестраивать модель)? |
PS2004R Постоянный участник |
(marinakom @ 08.11.2009 13:34) Коллеги! Для построения множественной линейной регрессии пошаговым способом (включением, исключением или stepwise) рекомендуют функцию stepAIC( ) из пакета MASS. Вопросы: 1) Что есть AIC? как оно расшифровывается?
|
ИгорьЧерниенко IP-штамп: frYFcAvJEpz0g гость |
Такая проблема: в виндоуз при попытке подключить RPostgreSQL требует какую-то длльку, при скачивании оной и установки вручную требует уже другую длльку. Не помню названий, если нужно, вышлю подробности. Причем в версии 2.8 такой проблемы нет, но наблюдается во всех более поздних. В чем может быть дело? |
plantago Постоянный участник |
|
Pryanik Постоянный участник Redwood City, California |
1. Как в R сделать 2 графика с одним заголовком? 2. Как в R вставить один график в другой? Сообщение было отредактировано Pryanik - 09.02.2010 04:00 |
Guest IP-штамп: frYFcAvJEpz0g гость |
|
ИгорьЧерниенко IP-штамп: frYFcAvJEpz0g гость |
|
PS2004R Постоянный участник |
(Guest @ 09.02.2010 04:05) Хотел подключить пакет чтобы написать, что за DLL, а он заработал. Дело было, видимо, в системе. Но все равно, вопрос пока оставляю открытым :о) значит аналог ldconfig линуксового, для винды это перегрузка системы |
PS2004R Постоянный участник |
(Pryanik @ 09.02.2010 03:42) Несколько вопросов: 1. Как в R сделать 2 графика с одним заголовком? 2. Как в R вставить один график в другой? ?layout для нескольких графиков, не совсем понял про заголовки... Обычно заголовок для сложной иллюстрации генерируется уже в текстовом процессоре. Например в LaTeX. На либрусеке есть книжки по R, в том числе по графике. |
plantago Постоянный участник |
=== Можно еще не обновлять дисплей (опция add=TRUE). |
PS2004R Постоянный участник |
|
bubnilkin Участник |
Gabriel, K.R. 1978. A simple method of multiple comparison of means. J. Amer. Stat. Assoc. 73: 724-729. А как упомянуть в статье на то что статистика делалась в R ? Сообщение было отредактировано bubnilkin - 16.03.2010 10:41 |
plantago Постоянный участник |
=== Упомянуть -- что-то типа All statistical calculations and graphs were made in the R environment and language (R Development Core Team, 2007). ... R Development Core Team. (2007) R: a language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL: |
tensor Участник Belarus |
======== Я обычно получаю данные с использованием citation() и citation(название модуля) и привожу ссылки на разработчика в виде (Автор, год). |
bubnilkin Участник |
Спасибо |
guest: Иван IP-штамп: fr1P9if9ZfrFI гость |
Хочу попросить помощи по такому вопросу: как в R можно в виде таблицы вывести результаты вычислений? Примерно как это делается функцией summary(). Только начал знакомиться с R, буду рад любой помощи! |
bubnilkin Участник |
Суть: создать (полу)автоматический анализ данных экспериментов по проточной цитометрии. Сами пакеты, к удивлению, давно уже оказывается есть. Но может уже есть готовые интерфейсы (если это не противоречит философии R)? Не хотелось бы изобретать велосипед. Т.е.: указал путь к папке (а там сотни файликов...) нажал кнопочку и пошло экспортироваться и т.п. Возможно вопрос глупый, т.к. с цитометрией и с R "на Вы" Сообщение было отредактировано bubnilkin - 22.03.2010 12:59 |
PS2004R Постоянный участник |
(bubnilkin @ 22.03.2010 12:56) добрый день:) Суть: создать (полу)автоматический анализ данных экспериментов по проточной цитометрии. Сами пакеты, к удивлению, давно уже оказывается есть. Но может уже есть готовые интерфейсы (если это не противоречит философии R)? Не хотелось бы изобретать велосипед. Т.е.: указал путь к папке (а там сотни файликов...) нажал кнопочку и пошло экспортироваться и т.п. Возможно вопрос глупый, т.к. с цитометрией и с R "на Вы" Есть способ написать TCL/TK интерфейс, если я правильно понял, и внутри вызывать функции пакетов. Это если я правильно понял. Лучше напишите какие пакеты Вы планируете использовать для цитометрии. Сообщение было отредактировано PS2004R - 22.03.2010 15:19 |
bubnilkin Участник |
(PS2004R @ 22.03.2010 15:17) Есть способ написать TCL/TK интерфейс, если я правильно понял, и внутри вызывать функции пакетов. Это если я правильно понял. Лучше напишите какие пакеты Вы планируете использовать для цитометрии. Я думал что-нить попроще из этого списка выбрать: но пока с функционалом не разобрался "внутри вызывать функции пакетов" хм... это = "отмечать галочками тот/иной тест"? если да, то примерно так Сообщение было отредактировано bubnilkin - 22.03.2010 15:57 |
PS2004R Постоянный участник |
(bubnilkin @ 22.03.2010 15:56) Я думал что-нить попроще из этого списка выбрать: но пока с функционалом не разобрался "внутри вызывать функции пакетов" хм... это = "отмечать галочками тот/иной тест"? если да, то примерно так вот это Вы читали уже? PS собственно стандартный графический интерфейс у него уже есть, там любому приросшему к мышке просто раздолье Сообщение было отредактировано PS2004R - 22.03.2010 16:15 |
guest: bubnilkin IP-штамп: frlNhpfxFNsO6 гость |
(PS2004R @ 22.03.2010 16:02) спасибо что ткнули (я оказывается ужо скачал, но пока не прочитал....) сижу с основами -- изучаю такие понятия как VECTOR, MATRIX, DATAFRAME. Дорогу осилит идущий |
Guest IP-штамп: frlNhpfxFNsO6 гость |
(PS2004R @ 22.03.2010 PS собственно стандартный графический интерфейс у него уже есть, там любому приросшему к мышке просто раздолье [url=http://bioconductor.org/docs/workflows/flowcytometry/tutorial.mpeg) http://bioconductor.org/docs/workflows/flo...y/tutorial.mpeg[/url] , если сложится быстрый набор команд с небольшим выбором, то можно легко вставить вставку графического интерфеса в нужный момент. фильмец просмотрел.... но (не в обиду создавшему), какойто он совсем уж полуавтоматический.... а сам GUI можно создавать средствами R? |
PS2004R Постоянный участник |
(Guest @ 22.03.2010 16:21) фильмец просмотрел.... но (не в обиду создавшему), какойто он совсем уж полуавтоматический.... а сам GUI можно создавать средствами R? Да, легко... Например rpanel пакет, есть и gtk, и сразу платформонезависимо можно. Хоть сразу на web и на десктоп распространяй результат. Статья в Линуксформате есть в этом году, по моему второй номер. Сообщение было отредактировано PS2004R - 22.03.2010 16:39
|
ИгорьЧерниенко IP-штамп: frYFcAvJEpz0g гость |
Существует ли пакет для разделения смеси нормальных распределений? Порылся на кране - так и не разобрался. |
plantago Постоянный участник |
|
mpyat Участник Москва |
|
-daf- |
(ИгорьЧерниенко @ 01.04.2010 08:14) Рад приветствовать! Существует ли пакет для разделения смеси нормальных распределений? Порылся на кране - так и не разобрался. mixtools
|
ИгорьЧерниенко IP-штамп: frL8/sg.NzQ86 гость |
|
« Предыдущая тема · Биофизика и матметоды в биологии · Следующая тема » |