Я как раз математик (т.е. не программист), так что не владею широко этой информацией. Но язык R точно простой.
Вот мой доморощенный скрипт для проверки нормальности 5 методами. До этого был произведен ввод данных в таблицу dann_num
Код:
library(nortest) # вызов библиотеки проверки нормальности
sink(paste(imja,"Нормальность.txt",sep =""), append = F) # настройка файла для вывода результатов
#-----------------------------------------------------------------------------------------
#Выводим на печать заголовки таблицы
#-----------------------------------------------------------------------------------------
cat("Критические уровни значимости по разным критериям","\n")
cat("Показатель", "Пирсон", "Колмогоров","Cramer-von Mises" , "Anderson-Darling", "Shapiro-Francia" ,"\n",sep="\t")
for (i in (1:m))
{ p<-rep(0,5)
pearson.test(dann_num[,i])$p.value->p[1]
lillie.test(dann_num[,i])$p.value->p[2]
cvm.test(dann_num[,i])$p.value->p[3]
ad.test(dann_num[,i])$p.value->p[4]
sf.test(dann_num[,i])$p.value->p[5]
signif(p,1)->p # округление до значащих цифр
#-----------------------------------------------------------------------------------------
#Выводим результаты проверки (название показателя и критические уровни)
cat(names(dann_num[i]), p, sep="\t\t" )
#-----------------------------------------------------------------------------------------
#Сравниваем с уровнем значимости 5%
if (max(p) < 0.05){cat("\t","Нет нормальности")}
cat("\n")
#-----------------------------------------------------------------------------------------
# строим гистограмму для каждого показателя
#-----------------------------------------------------------------------------------------
png(file=paste("Гистограмма ",names(dann_num[i]),".png"), width=240, height=240)
hist(dann_num[,i],xlab="Загрязненность",ylab="Плотность",main = paste("Гистограмма для ",names(dann_num[,i])))
dev.off()
} # конец тела цикла
#-----------------------------------------------------------------------------------------
sink()
-- 03.12.2013, 12:36 --Результатом будет проверка по 5 критериям нескольких (в моем случае 9) показателей и автоматический вывод гистограмм в .png-файлы.
Насчет того, что лучше: кто как привык. Если SPSS уже освоен (в какой-то степени) студентами - пусть пользуются. Если нет - почему не взять R?
Там, правда, есть специфические моменты, которые не сразу усваиваются имеющими опыт программирования в "обычных" языках. Например, нелюбовь к циклам и условным операторам. Но если начинать "с нуля" - все легко преодолимо.
Если же надо освоить некоторые конкретные методы обработки, можно просто написать соотв. программы и дать студентам разбираться.