Created
March 29, 2011 10:51
-
-
Save mgechev/892158 to your computer and use it in GitHub Desktop.
Statistics - 29.03.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
smokes = c("Y", "N", "N", "Y", "N", "Y", "Y", "Y", "N", "Y"); | |
amount = c(1, 2, 2, 3, 3, 1, 2, 1, 3, 2); | |
table(smokes, amount); | |
tmp = table(smokes, amount); #записва таблицата | |
old.digits = options("digits"); #запазва броят на цифрите | |
options(digit=3); #само три знака след десетичната запетая | |
prop.table(tmp, 1); #сумата по редове да е 1 | |
prop.table(tmp, 2) #сумата по стълбове да е 1 | |
prop.table(tmp) #сумата на всички да е 1 | |
options(digit=old.digits); #връща старата сума | |
barplot(table(smokes, amount)); | |
barplot(table(amount, smokes)); | |
smokes = factor(smokes); | |
barplot(table(smokes, amount), | |
beside = TRUE, #поставя ги едно до друго | |
ledend.text = T); #добавя легенда | |
barplot(table(amount, smokes), | |
main = "table(amount, smokes)", | |
beside = TRUE, | |
legend.text = c("less than 5", "5-10", "more than 10")); | |
prop = function(x) #дава x/sum(x) | |
apply(x, 2, prop) #по колони | |
#apply(x, 1, prop) по редове | |
#Тест за лекарство | |
#разделяме групите, които са го използвали на 2 групи | |
#експериментална и контролна група | |
#Експериментална: 5,5,5,13,7,11,11,9,8,9 | |
#Контролна: 11,8,4,5,9,5,10,5,4,10 | |
x = c(5, 5, 5, 13, 7, 11, 11, 9, 8, 9); | |
y = c(11, 8, 4, 5, 9, 5, 10, 5, 4, 10); | |
boxplot(x, y); | |
# Друг начин за въвеждане на данните | |
# | |
# amount = scan() | |
# ... | |
# category = scan() | |
# ... | |
boxplot(x~y) | |
########################################################################### | |
################################### НЕ РАБОТИ ############################# | |
########################################################################### | |
library("UsingR"); | |
data(home); | |
attach(home); | |
boxplot(scale(old), scale(new)); #прави boxplot, след като оразмерява всички | |
detach(home); | |
names(home); | |
scale() #поставя двете променливи в една и съща скала, | |
#стават по-лесни за сравняване | |
#dotplots/stripcharts | |
stripcharts(scale(old), scale(new)); | |
#density; сравнява формите на разпределение на една и съща графика | |
simple.violinplot(scale(old), scale(new)); #сравняваме честоти | |
scatterplots | |
data(home); | |
plot(old, new); | |
detach(home) | |
#графиката е нарисувана от цялото множество данни | |
data(homedata) | |
attach(homedata) | |
plot(old, new) | |
detach(homedata) | |
########################################################################### | |
x=1:2 | |
y=c(2, n) | |
df = data.frame(x=x, y=y) | |
ls() #изобразява всички познати променливи | |
rm(y) #изтрива y променливата | |
attach(df) | |
ls() #y е видима, но не се показва | |
ls(pos=2) #y е на второ място от attach-ването | |
y #видима е защото df е attached | |
x | |
x = c(1,3) #задаваме x | |
df | |
detach(df) | |
x #показва истинската променлива x | |
y #изписва грешка - y not found (404) ^^ | |
########################################################################### | |
############################# Линейна регресия ############################ | |
########################################################################### | |
# | |
# Съставя права, която спомага за предсказване на стойността на y | |
# за известни x. | |
# | |
# x - нещо, което контролираме | |
# y - нещо, което мерим | |
# | |
# y = b0 + b1*x - линейна регресия | |
# y = a + bx | |
# | |
# всяко xi => yi = b0 + b1*xi | |
# yi - оразмерената стойност | |
# b0 и b1 се намират чрез метода на най-малките квадрати | |
# | |
# Sum(1, n)[yi - Yi]^2 - МНМК | |
# | |
# b1 = Sxy/Sx^2 = Sum[(xi - x_)*(yi - y_)] / Sum[(xi-x_)^2] | |
# b0 = y_ - b1*x_ | |
# | |
########################################################################### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment