Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Арифметика и простые функции




В R существуют много функций для управления данными. Самая простая из них c():

> c (1:5, seq (10, 11, 0.2))

[1] 1.0 2.0 3.0 4.0 5.0 10.0 10.2 10.4 10.6 10.8 11.0

Вектора могут управляться классическими арифметическими выражениями:

> x <-c (1,2,3,4)

> y <-c (1,1,1,1)

> z <-x + y

> z

[1] 2.0 3.0 4.0 5.0

С векторами различной длины также можно выполнять различные арифметические действия; в этом случае, самый короткий вектор будет использоваться в вычислениях несколько раз при этом длина длинного вектора должна быть кратна длине короткого вектора.

Например:

> x <-c (1,2,3,4)

> y <-c (1,2)

> z <-x+y

> z

[1] 2 4 4 6

> x <-c (1,2,3)

> y <-c (1,2)

> z <-x+y

Warning message:

longer object length

is not a multiple of shorter object length in: x + y (Предупреждающее сообщение:Объект большей длины не кратен объекту меньшей длины в: x + y)

> z

[1] 2 4 4

В этом случае R выдает предупреждающее сообщение, а не ошибку. Таким образом, операция может быть выполнена.

Если мы хотим добавить (или умножить) одно и то же значение ко всем элементам вектора, то это можно сделать следующим образом:

> x <-c (1,2,3,4)

> а<-10

> z <-a*x

> z

[1] 10 20 30 40

Для создания выражений могут быть использованы следующие арифметические операторы:+,-, *,/, и ^ (для степеней), %% (x %% y - остаток от деления), и %/% (x % / % y для деления нацело (возвращает целую часть от деления)).

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

Некоторые из функций представлены в следующей таблице:

sum(x) Сумма элементов объекта х
prod(x) Произведение элементов объекта х
max(x) Максимальное значение из объекта х
min(x) Минимальное значение из объекта х
which.max(x) Индекс максимального значения объекта х
which.min(x) Индекс минимального значения объекта х
range(x) Минимальное и максимальное значения объекта х
length(x) Число элементов в объекте х
mean(x) Среднее значение элементов объекта х
median(x) Медиана объекта х
var(x) или cov(x) Дисперсия элементов(рассчитанная на n-1); если х матрица или data.frame, то вычисляется дисперсионно-ковариационная матрица.
cor(x) Корреляция матрицы х.
var(x,y) или cov(x) Ковариация между х и у или между столбцами х и столбцами у, если х и у матрицы или data.frames
cor(x,y) Линейная корреляция между х и у или корреляционную матрицу, если они матрицы или data.frames

Все эти функции возвращают единственное значение (вектор длины 1), кроме range() и var(), cov() и cor(), которые могут возвращать матрицу.

Следующие функции возвращают более сложные результаты:

round(x,n) округляет элементы x до n знаков после запятой
rev(x) перестановка элементов x в обратном порядке
sort(x) сортирует элементы x в возрастающем порядке; сортировать в убывающем порядке rev(sort(x))
rank(x) выдает классы элементов x
log(x,base) вычисляет логарифм x с основным base
pmin(x,y,...) вектор, в котором i-й элемент минимальный из x [i], y [i]...
pmax (x, y...) вектор, в котором I-й элемент максимальный из x [i], y [i]...
cumsum(x) вектор, i-й элемент которого является суммой от x [1] до x [i]
cumprod (x) вектор, i-й элемент которого является произведением от x [1] до x [i]
cummin (x) вектор, i-й элемент которого является минимальным из элементов от x [1] до x [i]
cummax (x) вектор, i-й элемент которого является максимальный из элементов от x [1] до x [i]
match(x,y) возвращает вектор той же длины что и вектор x с элементами x, которые находятся в y (иначе NA)
choose(n,k) вычисляет комбинации k событий среди n повторений
na.omit(x) игнорирует наблюдения с отсутствующими данными (NA) (игнорирует соответствующую строку, если x является матрицей или data.frame)
na.fail(x) выдает сообщение об ошибках, если x содержит NA (s)
table(x) возвращает таблицу с номерами различных значений x (обычно для целых чисел или коэффициентов(факторов))
subset(x,...) возвращает выборку x относительно критерия (...) в зависимости от режима x (обычно для сравнения: x$V1 <10); если x - data.frame, опция select позволяет идентифицировать переменные, которые будут сохранены

Операции с матрицами

R имеет средства для вычисления матриц и управления ими. Матрица может быть создана при помощифункции matrix():

> matrix (data=5, nr=2, nc=2)

  [, 1] [, 2]
[1,]    
[2,]    

> matrix (1:6, nr=2, nc=3)

  [, 1] [, 2] [, 3]
[1,]      
[2,]      

Функции rbind() и cbind() связывают (объединяют) матрицы относительно строк или столбцов, соответственно:

> m1 <-matrix (data=1, nr=2, nc=2)

> m2 <-matrix (data=2, nr=2, nc=2)

> rbind (m1, m2)

  [,1] [,2]
[1,]    
[2,]    
[3,]    
[4,]    

> cbind (m1, m2)

  [,1] [,2] [,3] [,4]
[1,]        
[2,]        

Оператор произведения двух матриц – “% * %”. Например, рассматривая две матрицы m1 и m2 созданные выше:

> rbind (m1, m2) % * % cbind (m1, m2)

мы получим следующий результат:

  [,1] [,2] [,3] [,4]
[1,]        
[2,]        
[3,]        
[4,]        

> cbind (m1, m2) % * % rbind (m1, m2)

  [,1] [,2]
[1,]    
[2,]    

Транспонирование матрицы производится функцией t(); эта функция также подходит для data.frame.

Функция diag() может использоваться, чтобы извлечь или изменить диагональ матрицы, или для построения диагональной матрица.

> diag (m1)

[1] 1 1

> diag (rbind (m1, m2) % * % cbind (m1, m2))

[1] 2 2 8 8

> diag (m1) <-10

> m1

  [,1] [,2]
[1,]    
[2,]    

> diag (3)

  [,1] [,2] [,3]
[1,]      
[2,]      
[3,]      

> v <-c (10,20,30)

> diag (v)

  [,1] [,2] [,3]
[1,]      
[2,]      
[3,]      

> diag (2.1, nr=3, nc=5)

  [,1] [,2] [,3] [,4] [,5]
[1,] 2.1 0.0 0.0    
[2,] 0.0 2.1 0.0    
[3,] 0.0 0.0 2.1    

Графики в R

R предлагает большое разнообразие графиков. Чтобы понять идею, можно напечатать demo (graphics). Простоневозможно описать все возможности R в отображении графиков, особенно когда каждый графическая функция имеет большое количество параметров.

Сначала несколько подробностей относительно того, как управлять графическими окнами.





Поделиться с друзьями:


Дата добавления: 2017-02-28; Мы поможем в написании ваших работ!; просмотров: 433 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент всегда отчаянный романтик! Хоть может сдать на двойку романтизм. © Эдуард А. Асадов
==> читать все изречения...

2387 - | 2145 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.