Created
April 14, 2011 08:44
-
-
Save mgechev/919141 to your computer and use it in GitHub Desktop.
Statistics - 14.04.2011
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data.frame; #създава нов (наш си) data frame | |
weight = c(150,135,210,140); | |
heigth = c(65,61,70,65); | |
gender = c("Fe", "Fe", "M", "Fe"); | |
study = data.frame(weight, heigth, gender); #прави data.frame с име "study" | |
study; | |
study = data.frame(w = weight, h = heigth, g = gender); #имена на колоните | |
row.names(study) <- c("Mary", "Alice", "Bob", "Judy"); #имена на редовете | |
study; | |
rm(weight); #изчистваме старото копие | |
weight; | |
attach(study); | |
w; # | |
#Масив | |
#------ | |
#колони за променливите | |
#редове за експеримент полета | |
#[] взимаме даден елемент, ако го оставим празно (т.е. без да специфицираме | |
#ред или стълб) взимаме целия ред или стълб в зависимост от това, дали сме | |
#оставили първите или вторите скоби празни | |
study[ , 'weight']; | |
study[ , 'w']; #всички редове на weight | |
study[ , 1]; #всички редове на първата променлива | |
study[ , 1:2]; | |
study['Mary', ]; #ред "Mary" с всички колони | |
study['Mary', 'w']; #изкарва weight за Mary | |
#$ [[]] - да достигнем списък | |
study$w; | |
study[['w']]; | |
study[[1]]; #извежда данните на 1-та променлива (т.е. weight) | |
study[study$g == 'Fe', ]; #извежда информация за пол жена | |
#Маниполиране на dataframe | |
#stack, unstack | |
data(PlantGrowth); | |
PlantGrowth; | |
attach(PlantGrowth); | |
weight.ctrl = weight[group == "ctrl"]; | |
unstack(PlantGrowth); #прави dataframe с променливи съответстващи на имената на факторите | |
boxplot(unstack(PlantGrowth)); | |
#Model formula в R | |
boxplot(weight ~ group); | |
#weight ~ group показва теглото спрямо стойностите на group, вляво е отклика, а в дясно предиктора | |
#това (наименованията) важи само за случаите, в които имаме 2 променливи | |
#Y, X1, X2 | |
######################################################################### | |
#______________________________________________________________________ | |
#| Формула | Значение | | |
#|______________|______________________________________________________| | |
#| | | | |
#| Y~X1 | Y моделирано по X1 | | |
#| Y~X1+X2 | Y моделирано по X1 и X2, като многомерна регресия | | |
#| Y~X1*X2 | Y моделирано по X1, X2 и X1*X2 | | |
#| (Y~(X1+X2)^2)| two-way interactions | | |
#| Y~X1+I(X2^2) | Y е моделирано по X1 и X2^2 | | |
#| Y~X1|X2 | Моделирано по X1 при условие X2 | | |
#|______________|______________________________________________________| | |
######################################################################### | |
table(x, y); | |
table(x, y, z) #x спрямо y за всяка стойност на z (двумвена таблица) | |
library("MASS"); | |
data(Cars93); | |
attach(Cars93); | |
price = cut(Price, c(0, 12, 20, max(Price))); | |
levels(price) = c("cheap", "okay", "expensive"); #разделя price на три вида | |
mpg = cut(MPG.highway, c(0, 20, 30, max(MPG.highway))); | |
levels(mpg) = c("gas guzzler", "okay", miser); | |
table(Type); #таблица според вида на автомобила | |
table(price, Type); #таблица според вида и цената | |
table(price, Type, mpg); #според вида и цената за всяка стойност на mpg | |
#xtabs - Create a contingency table (optionally a sparse matrix) from cross-classifying factors, usually contained in a data frame, using a formula interface. | |
#ftable - Create ‘flat’ contingency tables. | |
#barplot - всяка колона като променлива | |
barplot(table(price, Type), beside = TRUE); #цената според различния тип | |
barplot(table(Type, price), beside = TRUE); #типа според различната цена | |
#boxplot(x, y, z); рисува side-by-side boxplot | |
#boxplot(df); df - data frame | |
#boxplot(y~x); приема и формула, като аргумент | |
#10 boxplot-а, с математическо очакване 0 и отклонение 1 | |
y = rnorm(1000); | |
f = factor(rep(1:10, 100)); #дава числата от 1 до 10, 100 пъти | |
boxplot(y~f, main = "Boxplot of normal data with model notation"); #прави boxplot за y за всяко ниво на фактора f | |
#30 и под 30 са малко данни, добре е stripcharts да се използват за малко данни | |
x = rnorm(100); | |
y = factor(rep(1:10, 100)); | |
stripchart(x~y); #stripchart(x, y) - НЕ РАБОТИ!!! Може да се използва и с data frame | |
#x - предиктор, а y и z - отклик | |
#pch - plot character (една графика, но с различни характеристики) | |
#points(x, z, pch = "2"); - графика с триъгълници | |
data("ToothGrowth"); | |
attach(ToothGrowth); | |
plot(len~dose, pch = as.numeric(supp)); | |
tmp = levels(supp); | |
legend = levels(locator(1), legend = tmp, pch = 1:length(tmp)); #дава грешка | |
#триъгълника е хапче | |
#кръгчето е портокалов сок |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment