Екологія: біологія взаємодії. Додаток VI. Oгляд команд R





Д. Шабанов, М. Кравченко
Екологія: біологія взаємодії

БІОСИСТЕМИ. БІОСФЕРА
ЕКОСИСТЕМИ. ПОПУЛЯЦІЇ
ОРГАНІЗМИ У ДОВКІЛЛІ
ЛЮДСТВО ТА ЙОГО ДОЛЯ

← Додаток V. Глосарій

Додаток VI. Oгляд команд R

Титул та передмова→

 

Додаток VI. Oгляд команд R

Матеріал цього додатку засновано на «шпаргалці», яка розташована на офіціальній сторінці проєкту R, а також на її версії

Допомога

help(topic), ?topic — довідка щодо topic

help.search("pattern"), ??pattern — глобальний пошук pattern

help(package = ) — довідка щодо вказаного пакету

help.start() — запустити допомогу в браузері

apropos(what) — імена об'єктів, що відповідають what

args(name) — аргументи команди name

example(topic) — приклади використання topic

 

Оточення

ls() — список усіх об'єктів

rm(x) — видалити об'єкт

dir() — показати усі файли в поточній директорії

getwd() — вказати поточну директорію

setwd(dir) — змінити поточну директорію на dir

 

Огляд об'єктів

str(object) — внутрішня структура об'єкта object

summary(object) — загальна інформація щодо об'єкта object

dput(x) — отримати представлення об'єкту в R-синтаксисе

head(x) — подивитися початкові рядки об'єкта

tail(x) — подивитися останні рядки об'єкта

 

Ввід та вивід

library(package) — підключити пакет package

save(file, ...) — зберігає вказані об'єкти у двойковому XDR-форматі, що не залежить від платформи

load() — завантажує дані, що були збережені раніше командою save()

read.table — зчитує таблицю даних і створює по ним data.frame

write.table — виводить на друк об'єкт, конвертуючи його в data.frame

read.csv — зчитує csv-файл

re1ad.delim — зчитування даних, що розділені знаками табуляції

save.image — зберігає усі об'єкты у файл

cat(..., file= , sep= ) — зберігає аргументи, конкатенуючи їх через sep

sink(file) — виводить результати виконання інших команд в файл у режимі реального часу до моменту виклику цієї ж команди без аргументів

 

Створення об'єктів

from:to — генерує послідовність чисел від from до to з кроком 1, наприклад 1:3

с(...) — поєднує аргументи у вектор, наприклад c(1, 2, 3)

seq(from, to, by = ) — генерує послідовність чисел від from до to з кроком by

seq(from, to, len = ) — генерує послідовність числел від from до to довжини len

rep(x, times) — повторює x times разів

list(...) — створює перелік об'єктів

data.frame(...) — створює фрейм даних

array(data, dims) — створює з data багатовимірний масив з розмірністю dim

matrix(data, nrow = , ncol = , byrow = ) — створює з data матрицю nrow на ncol, порядок заповнення визначає byrow

factor(x, levels = ) — створює з x фактор з рівнями levels

gl(n, k, length = n*k, labels = 1:n) — створює фактор из n рівнів, кожен з яких повторюється k раз довжини length з іменами labels

rbind(...) — поєднує аргументи по рядках

cbind(...) — поєднує аргументи по стовпцях

 

Індексування

Вектори

x[n] — n-тий елемент

x[-n] — усі елементи, крім n-того

x[1:n] — перші n елементів

x[-(1:n)] — усі елементи, крім перших n

x[c(1,4,2)] — елементи з індексами, що перелічені

x["name"] — елемент з ім'ям, яке вказано

x[x > 3] — усі елементи, більші за 3

x[x > 3 & x < 5] — усі елементи між 3 и 5

x[x %in% c("a","and","the")] — усі елементи з множини, яка задана

Переліки

x[n] — перелік, що складається з елемента n

— n-тий елемент переліку

 — елемент переліку з ім'ям name

x$name — елемент переліку з ім'ям name

Матриці

x[i, j] — елемент на перехрещенні i-ого рядка та j-ого стовпця

x[i,] — i-ий рядок

x[,j] — j-ий стовпець

x[,c(1,3)] — задана підмножина стовпців

x["name", ] — рядок з ім'ям name

Фрейми

— стовпець з ім'ям name

x$name — стовпець з ім'ям name

 

Робота зі змінними

as.array(x), as.data.frame(x), as.numeric(x), as.logical(x), as.complex(x), as.character(x) — перетворення об'єкту до певного типу 

is.na(x), is.null(x), is.array(x), is.data.frame(x), is.numeric(x), is.complex(x), is.character(x) — перевірка того, що об'єкт належить до певного типу

length(x) — кількість елементів в x

dim(x) — розмірності об'єкта x

dimnames(x) — імена розмірностей об'єкта x

names(x) — імена об'єкта x

nrow(x) — кількість рядків x

ncol(x) — кількість стовпців x

class(x) — клас об'єкта x

unclass(x) — виділяє атрибут класа у об'єкта x

attr(x,which) — атрибут which об'єкта x

attributes(obj) — перелік атрибутів об'єкта obj

 

Керування даними

which.max(x) — індекс елемента з максимальним значенням

which.min(x) — індекс елемента з мінімальним значенням

rev(x) — реверсує порядок елементів

sort(x) — сортує елементи об'єкта у порядку збільшення

cut(x,breaks) — розділює вектор на рівні інтервали

match(x, y) — шукає елементи x, які є в y

which(x == a) — вертає порядкові елементи x, які дорівнюють a

na.omit(x) — виключає відсутні значення (NA) об'єкта (у матриці або фреймі виключає відповідний рядок)

na.fail(x) — повертає повідомлення про помилку, якщо об'єкт містить NA

unique(x) — виключає з об'єкта повторювані елементи

table(x) — створює таблицю з кількістю повторювань кожного унікального елемента

subset(x, ...) — вертає підмножину елементів об'єкта, яка відповідає заданій умові

sample(x, size) — вертає випадковий набір розміру size з елементів x

replace(x, list, values) — замінює значення x з індексами з list значеннями values

append(x, values) — додає елементи values до вектору x

 

Математика

sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y, x), log(x), log(x, base), log10(x), exp(x) — елементарні математичні функції

min(x), max(x) — мінімальний та максимальний елементи об'єкта

range(x) — вектор з мінімального та максимального елементів об'єкта

pmin(x, y), pmax(x, y) — вертає вектор з мінімальними (максимальними) значеннями для кожної пари x[i], y[i]

sum(x) — сума елементів об'єкта

prod(x) — добуток (результат множення) елементів об'єкта

diff(x) — вертає вектор з різниць між сусідніми елементами

mean(x) — середнє арифметичне елементів об'єкта

median(x) — медіана об'єкта

weighted.mean(x, w) — середньозважене об'єкта x (w задає ваги)

round(x, n) — округляє x до n десяткових знаків

cumsum(x), cumprod(x), cummin(x), cummax(x) — кумулятивні суми, добутки, мінімуми та максимуми вектора x (i-тий елемент містить статистику по елементам x[1:i])

union(x, y), intersect(x, y), setdiff(x,y), setequal(x,y), is.element(el,set) — операції над множинами: поєднання, перетин, різниця, належність

Re(x), Im(x), Mod(x), Arg(x), Conj(x) — операції над комплексними числами: ціла частина, мнима частина, модуль, аргумент, спряжене число

fft(x), mvfft(x) — швидке перетворення Фур'є

choose(n, k) — кількість комбінацій

rank(x) — ранжує елементи об'єкта

 

Матриці

%*% — матричне множення

t(x) — транспонована матриця

diag(x) — діагональ матриці

solve(a, b) — вирішує систему рівнянь a %*% x = b

solve(a) — зворотня матриця

colSums, rowSums, colMeans, rowMeans — суми і середні по стовпцям та рядкам

 

Перебудова даних

apply(X,INDEX,FUN =) — повертає вектор, масив або список значень, отриманих шляхом застосування функції FUN до певних елементів масиву або матриці x; елементи, що мають оброблюватися, вказуються за допомогою аргументу MARGIN;

lapply(X,FUN) — повертає список тієї ж довжини, що і х; при цьому значення в новому списку будуть результатом застосування функції FUN до елементів вихідного об'єкта х

tapply(X,INDEX,FUN =) — застосовує функцію FUN до кожної сукупності значень х, створеної відповідно до рівнів певного фактора; перелік факторів вказується за допомогою аргументу INDEX

by(data,INDEX,FUN) — аналог tapply (), застосовуваний до таблиць даних

merge(a,b) — об'єднує дві таблиці даних (а і b) за загальними стовпцями або рядками

aggregate(x,by,FUN) — розбиває таблицю даних х на окремі набори даних, застосовує до цих наборів певну функцію FUN і повертає результат в зручному для читання форматі

stack(x, ...) — перетворює дані, представлені в об'єкті х у вигляді окремих стовпців, в таблицю даних

unstack(x, ...) — виконує операцію, зворотну дії функції stack()

reshape(x, ...) — перетворює таблицю даних з «широкого формату» (повторні вимірювання будь-якої величини записані в окремих стовпцях таблиці) в таблицю «вузького формату» (повторні вимірювання йдуть одне під одним в межах одного стовпчика)

 

Дата і час

as.Date(s) — конвертує вектор s в об'єкт класу Date

as.POSIXct(s) — конвертує вектор s в об'єкт класу POSIXct

 

Рядки

print(x) — виводить на екран x

sprintf(fmt, ...) — форматування тексту в C-style (можна використовувати %s, %.5f тощо)

format(x) — форматує об'єкт x таким чином, щоб він виглядав красиво під час виводу на екран

paste(...) — конвертує вектори в текстові змінні і об'єднує їх в один текстовий вираз

substr(x,start,stop) — отримання підрядка

strsplit(x,split) — розбиває рядок х на підрядки у відповідності до split

grep(pattern,x) (а також grepl, regexpr, gregexpr, regexec) — пошук по регулярному виразу

gsub(pattern,replacement,x) (а також sub) — заміна по регулярному виразу

tolower(x) — привести рядок до нижнього регістру

toupper(x) — привести рядок до верхнього регістру

match(x,table), x %in% table — шукає елементи у векторі table, які співпадають зі значеннями з вектора х

pmatch(x,table) — шукає елементи у векторі table, які частково співпадають зі значеннями з вектора х

nchar(x) — вертає кількість знаків в рядку х

 

Графіки

plot(x) — графік x

plot(x, y) — графік залежності y от x

hist(x) — гістограма

barplot(x) — стовпчаста діаграма

dotchart(x) — діаграма Кливленда

pie(x) — кругова діаграма

boxplot(x) — графік типу «коробочки с вусами»

sunflowerplot(x, y) — те ж саме, що й plot(), але точки з однаковими координатами зображуються у вигляді «соняшників», кількість пелюсток у яких пропорційна кількості таких точок

coplot(x˜y | z) — графік залежності y от x для кожного інтервалу значень z

interaction.plot(f1, f2, y) — якщо f1 і f2 — фактори, ця фукнкція створить графік з середніми значеннями відповідно до значень f1 (по вісі х) та f2 (по вісі у, різні криві)

matplot(x, y) — графік залежності стовпців y від стовпців x

fourfoldplot(x) — зображує (у вигляді частин окружності) зв'язок між двома бінарними змінними в різних сукупностях

assocplot(x) — графік Кохена-Френдлі

mosaicplot(x) — мозаїчний графік залишків лог-лінійної регресії

pairs(x) — якщо х — матриця або таблиця даних, ця функція зобразить діаграми розсіювання для всіх можливих пар змінних з х

plot.ts(x), ts.plot(x) — зображує часовий ряд

qqnorm(x) — квантилі

qqplot(x, y) — графік залежності квантилів y від квантилів х

contour(x, y, z) — виконує інтерполяцію даних і створює контурний графік

filled.contour(x, y, z) — те ж, що і contour(), але заповнює області між контурами певними кольорами

image(x, y, z) — зображує дані у вигляду квадратів, колір яких визначається значеннями х і у

persp(x, y, z) — те ж, що і image(), але у вигляді трьохвимірного графіка

stars(x) — якщо x — матриця або фрейм, зображує графік у вигляді  «зірок» так, що кожен рядок представлений «зіркою», а стовпці визначають довжину променів цих «зірок»

symbols(x, y, ...) — зображує різні символи у відповідності до координат

termplot(mod.obj) — зображує часткові ефекти змінних з регресійної моделі

 

Окремі елементи графіків

points(x, y) — малювання точок

lines(x, y) — малювання лінії

text(x, y, labels, ...) — додавання текстового надпису

mtext(text, side=3, line=0, ...) — додавання текстового надпису

segments(x0, y0, x1, y1) — додавання відрізка

arrows(x0, y0, x1, y1, angle= 30, code=2) — малювання стрілки

abline(a,b) — малювання нахиленої прямої

abline(h=y) — малювання вертикальної прямої

abline(v=x) — малювання горизонтальної прямої

abline(lm.obj) — малювання регресійної прямої

rect(x1, y1, x2, y2) — малювання прямокутника

polygon(x, y) — малювання багатокутника

legend(x, y, legend) — додавання легенди

title() — додавання назви

axis(side, vect) — додавання осей

rug(x) — малювання засічок на вісі X

locator(n, type = "n", ...) — вертає координати на графіку у відповідь на клік користувача

 

Гратчасті графіки (Lattice-графіки)

xyplot(y˜x) — графік залежності у від х

barchart(y˜x) — стовпчаста діаграма

dotplot(y˜x) — діаграма Клівленда

densityplot(˜x) — графік щільності розподілу значень х

histogram(˜x) — гістограма значень х

bwplot(y˜x) — графік типу «коробочки с вусами»

qqmath(˜x) — аналог функції qqnorm()

stripplot(y˜x) — аналог функції stripplot(x)

qq(y~x) — зображує квантилі розподілів х і у для візуального порівняння цих розподілів; змінна х має бути числовою, змінна у — числовою, текстовою, або фактором з двома рівнями

splom(~x) — матриця діаграм розсіювання (аналог функції pairs() )

levelplot(z~xy|g1g2) — кольоровий графік значень z, координати яких задані змінними х і у (очевидно, що x, y і z повинні мати однакову довжину); g1, g2 ... (якщо присутні) — фактори або числові змінні, чиї значення автоматично розбиваються на рівномірні відрізки

wireframe(z~xy|g1g2) — функція для побудови тривимірних діаграм розсіювання і площин; z, x і у — числові вектори; g1, g2 ... (якщо присутні) — фактори або числові змінні, чиї значення автоматично розбиваються на рівномірні відрізки

cloud(z˜xy|g1g2) — тривимірна діаграма розсіяння

 

Оптимізація та підгонка параметрів

optim(par, fn, method = ) — оптимізація загального призначення

nlm(f,p) — мінімізація функції f алгоритмом Ньютона

lm(formula) — підгонка лінійної моделі

glm(formula,family=) — підгонка узагальненої лінійної моделі

nls(formula) — нелінійний метод найменших квадратів

approx(x,y=) — лінійна інтерполяція

spline(x,y=) — інтерполяція кубічними сплайнами

loess(formula) — підгонка поліноміальної поверхні

predict(fit,...) — побудова прогнозів

coef(fit) — розрахункові коефіцієнти

 

Статистика

sd(x) — стандартне відхилення

var(x) — дисперсія

cor(x) — кореляційна матриця

var(x, y) — коваріація між x та y

cor(x, y) — лінійна кореляція між x та y

aov(formula) — дисперсійний аналіз

anova(fit,...) — дисперсійний аналіз для підігнаних моделей fit

density(x) — ядерні щільності ймовірностей

binom.test() — точний тест простої гіпотези о ймовірності успіху у випробуваннях Бернуллі

pairwise.t.test() — попарні порівняння кількох незалежних або залежних вибірок

prop.test() — перевірка гіпотези про рівність частот певної ознаки в усіх групах, що аналізуються

t.test() — тест Стьюдента

 

Розподіли

rnorm(n, mean=0, sd=1) — нормальний розподіл

rexp(n, rate=1) — експоненційний розподіл

rgamma(n, shape, scale=1) — гамма-розподіл

rpois(n, lambda) — розподіл Пуассона

rweibull(n, shape, scale=1) — розподіл Вейбулла

rcauchy(n, location=0, scale=1) — розподіл Коші

rbeta(n, shape1, shape2) — бета-розподіл

rt(n, df) — розподіл Стьюдента

rf(n, df1, df2) — розподіл Фішера

rchisq(n, df) — розподіл Пірсона

rbinom(n, size, prob) — біноміальний розподіл

rgeom(n, prob) — геометричний розподіл

rhyper(nn, m, n, k) — гипергеометричний розподіл

rlogis(n, location=0, scale=1) — логістичний розподіл

rlnorm(n, meanlog=0, sdlog=1) — логнормальний розподіл

rnbinom(n, size, prob) — від'ємний біноміальний розподіл

runif(n, min=0, max=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 — зупинка цикла