Skip to content

Instantly share code, notes, and snippets.

@mgechev
Created April 19, 2011 11:06
Show Gist options
  • Save mgechev/927134 to your computer and use it in GitHub Desktop.
Save mgechev/927134 to your computer and use it in GitHub Desktop.
Statistics - 19.04.2011
#Violinplots и dansityplots
#simple.violinplot
#simple.densityplot
#3 графики в един прозорец
par(mfrow=c(1,3));
data(InsectSprays);
#boxplot на бр и вида спрей
boxplot(count~spray, data = InsectSprays, col="lightgray");
#violinplot за бр и вида спрей
simple.violinplot(count~spray, data = InsectSprays, col = "lightgray");
#densityplot за бр и вида спрей
simple.densityplot(count ~ spray, data = InsectSprays, col = "lightgray");
#виждаме разпр. x, разпр. на y и връзката между x и y (рисува няколко графики наведнъж)
#simple.scatterplot();
data(emissions);
attach(emissions);
simple.scatterplot(perCapita, CO2, title("GDP/capita vs CO2 emissions 1999"));
#Paired scatterplot
#показва взаимодействието на CO2, GDP и perCapita
#(1,2) дава GDP + Capita
#(1,3) дава GDP + CO2
#...аналогично за останалите
pairs(emissions);
######################################
#pairs(cbind(x,y,z)); #
######################################
#pairs(df); #
######################################
#Факторна форма #
#pairs(data.frame(split(times, week))#
######################################
######################################
# Случайни величини #
######################################
sample(1:6, 10, replace = T); #хвърляне на задче
Rolldice = function(n)sample(1:6, n, replace = T);
Rolldice(5); #хвърляме зарчето 5 пъти
#replace = T - цифрите могат да се повтарят
#Данни, които са равномерно разпределени са такива, за които
#има еднаква вероятност да попаднат в един интервал
#Теоритично този интервал е [a, b], обикновено избираме [0,1]
#Върху интервала [0, 2]
runif(1,0,2);
runif(5,0,2);
runif(5);
#runif(n, min = 0, max = 1);
x = runif(100);
##########################################################
# Всички стълбове под линията са равномерно разпределени #
##########################################################
hist(x, probability = TRUE, col = gray(.9), main = "uniform on [0,1]");
curve(dunif(x, 0, 1), add = T);
##########################################################
#P(a<x<=b) #
#P(x = k) = f(k) -> в дискретен случай #
#вероятностна плътност -> в непрекъснат случай #
#N(m, s) #
#m - математическото очакване #
#s - стандартното отклонение #
#Стандартното средно разпределение при m = 0, s = 1 #
##########################################################
rnorm(100);
hist(x, probability = T, col = gray(.9), main = "normal mu = 0, sigma = 1");
##############################################################################
#Биномно разпределение
#биномните случайни числа са дискретни
#разпределение на броя на успихите в N на брой опита, които съответно дават
#успех или неуспех.
#n - бр. опити
#p - вероятност за успех
#q - вероятност за неуспех
##############################################################################
n = 1;
p = .5;
rbinom(1, n, p);
rbinom(10, n, p);
n = 10;
p = .5;
rbinom(1, n, p);
rbinom(5, n, p);
#############################################
# ЦГТ: (x_ - miu)/sigma, в нормални граници #
# ...и тн... ^_^ #
#############################################
n = 5;
p = 0.25;
x = rbinom(100, n, p);
hist(x, probability = TRUE);
xvals = 0:n;
points(xvals, dbinom(xvals, n, p), type = "p", lwd = 3);
####################################################################
# Експоненциално разпределение #
# 1/x_ #
# rexp(n, rate = 1) - обща формула за експоненциално разпределение #
# Човешкия живот е бил експоненциално разпределен (to check) #
####################################################################
#Пример:
#x = rexp(100, 1/2500);
#hist(x, probability = T, col = gray(.9), main = "");
#
#Извадка с и без връщане
#
#Извадка с връщане
sample(1:6, 10, replace = T)
sample(c("H","T"), 10, replace = T);
sample(1:49, 6); #лотария 6/49
cards = paste(rep(c("A", 2:10, "J", "Q", "K"), 4), c("H","D","S","C"));
sample(cards, 5);
dice = as.vector(outer(1:6, 1:6, paste));
sample(dice, 5, replace = T);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment