5.4 Язык программирования R
Язык R
Язык R (для статистической обработки данных).
Преимущество языкового подходы по сравнению с пакетами прикладных программ – в возможности по шагам контролировать процесс обработки данных, что повышает уверенность в корректности результатов [1].
Будем использовать оболочку RStudio.
str(object)
- library(package) – подключить пакет package
- save(file,…) – сохраняет указанные объекты в двоичном XDR-формате, который не зависит от платформы
- load() – загружает данные, сохранённые ранее с помощью команды save()
- read.table – считывает таблицу данных и создаёт по ним data.frame
- write.table
csv – формат для хранения данных.
- read.csv – считывает csv-фаил
- read.delim
- save.image
- cat(…,file=,sep=)
- sink(file)
Создание объектов [1]:
- from:to – генерирует последовательность чисел от from до to с шагом 1, например “1:3”
frame – набор данных
- c(…)
- seq(from,to,by=)
- seq(from,to,len=)
- rep(x,times)
- list(…)
- data.frame(…)
- array(data,dims)
- matrix(data,nrow=,ncol=,byrow=)
- factor(x,levels=)
Работа с переменными.
- nrow(x) – число строк x
- ncol(x) – число столбцов x
- class(x) –класс объекта x
- unclass(x) – удаляет атрибут класса у объекта x
- attr(x,which) –атрибут which объекта x
- attributes(obj) – список атрибутов объекта obj
Манипуляция данными [1]:
match; witch –возвращается сам элемент, а не его индекс.
Математика:
- min(x), max(x)
- pmin(x,y), pmax(x,y) –возвращает вектор с минимальными (максимальными) для каждой пары x[i], y[i]
- mean(x) – среднее арифметическое значение
- diff
Матрицы:
тринарный оператор – состоит из 3 символов.
- %*% - матричное умножение
- t(x) – транспонированная матрица
Обработка данных:
- apply(x,INDEX,FUN=) –
- merge(a,b)
- lapply(x,FUN)
- aggregate(x,by,FUN)
Строки:
- sprintf(fmt,…) – форматирование текста в C-style
- paste(…)
- strsplit(x,split)
- tolower(x) –привести строку к нижнему регистру
- toupper(x) – привести строку к верхнему регистру
- match(x,table)
- pmatch(x,table)
- nchar(x) – возвращает количество знаков в строке x
Рисование графиков:
- plot.ts(x), ts.plot(x)
Оптимизация и подбор параметров:
- optim(par,fn,method=)
- nlm(f,p)
- lm(formula,family=)
- nls(formula)
- approx(x,y)
Статистика:
- cor(x,y) – корреляция между x и y
Программирование [1]:
Работа с функциями:
- function(arglist){expr} –создание пользовательских функций
- return(value) – возвращение значения
- do.call(funname,args) –вызывает функцию по имени
Условные операторы:
- if(cond)expr
- if(cond)cons.expr else alt.expr
- ifelse(test,yes, no)
Циклы:
- for(var in seq)expr
- while(cond)expr
- repeat expr
- break –остановка цикла
Для того, что бы разработать приложение с графическим интерфейсом используется [1]:
- guide (функция)
далее с помощью стандартных кнопок разрабатывается интерфейс приложения. (создаётся только 1 окно, для других окон используется отдельный фаил)
H=open(‘integral.fig’)
- function btn_method_Callback(src,lvt,handles)
.
.
.
set(handles_method.NAME,’value’,1)
str=num2str(1,16) – число в строку
str2num – строку в число