![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 27 Регистрация: 7.12.2012 Пользователь №: 24440 ![]() |
Салют! Столкнулся с проблемой сравнения двух выборок, в каждой из которых по 3 значения. Это результаты иммуноблоттинга (определение концентрации целевого белка в пробе) очень ценных образцов, полученных от трансгенных животных. Но их - образцов, было всего 3 для каждой из групп (2 группы: интактная и подвергнутая воздействию исследуемого фактора). Покопавшись в литературе, нашёл статьи, где есть такие выборки и авторы как ни в чём не бывало используют t-критерий Стьюдента для сравнения средних. Нашёл статьи, где используют U-критерий Манна-Уитни... Скажем так, в биологии 3 образца - это нормально для публикации, если речь идёт об особо ценном и сложнополучаемом биоматериале (к примеру как у меня, когда животные практически не дают потомства). Т.е. представить эти данные можно и не стыдно. Но вот как сравнить, как показать, что эти выборки отличаются статистически значимо, иными словами, что наш исследуемый фактор значимо повлиял на концентрацию целевого белка?
Почитал ещё о таком методе, как ресамплинг или бутстреп, когда объём выборки искусственно увеличивают. Ну, не знаю насколько это правильно... также не нашёл софт и чёткого понимания как это сделать у меня нет. Работаю в проге Statistica 12 Посоветуйте, как всё же обработать эти данные. Вот пример исходных цифр: Выборка 1: 221,60112 305,217725 295,251684 Выборка 2: 371,3313 397,452722 437,212724 |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 107 Регистрация: 27.12.2015 Пользователь №: 27815 ![]() |
2 100$
Конечно. Это я усложнил код, так как можно было легко вызвать функцию напрямую (отредактировал код, вставил функции, в т.ч. ту, которую вызывал через do.call). do.call применяет функцию однократно к списку, в котором находятся аргументы, что равносильно вызову функции. Функция lapply - это цикл, в ходе которого функция вызывается для каждого элемента списка, просто реализованный в компактом виде. Примеры: CODE ## Сумма do.call(sum, list(c(1, 2, 4, 1, 2), na.rm = TRUE)) #Правильно lapply(c(1, 2, 4, 1, 2), sum) #Неправильно ##Структура операций L <- list(c(1,2,3), c(4,5,6)) L [[1]] [1] 1 2 3 [[2]] [1] 4 5 6 lapply(L, sum) [[1]] [1] 6 [[2]] [1] 15 list( sum(L[[1]]) , sum(L[[2]])) [[1]] [1] 6 [[2]] [1] 15 do.call(sum, L) [1] 21 sum(L[[1]], L[[2]]) [1] 21 ##Передача аргументов в качестве листа args <- list(n = 10, mean = 50, sd = 10) #Т-баллы do.call(rnorm, args) #эквивалентно rnorm(args$n, args$mean, args$sd) replicate(10, rnorm(10)) #В каждом столбце числа разные do.call(replicate, list(10, rnorm(10))) #В каждом столбце числа одинаковые ##Вызов функции по её названию do.call('colnames', list(iris)) ##Комбинация списков rbind(L) #do.call(rbind, list(L)) Reduce('rbind',x = L) #do.call(rbind, L) Работа функции не самая очевидная, но в некоторых случаях её использование было очень кстати. |
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 ![]() |
|
|
![]() |
![]() |
![]() ![]() |