- Daróczi Gergely honlapja - -

2. hét

Telepítsük fel a programot [1], vagy töltsük le a portable változatot [2]! Ezen utóbbi kitömörítés után bárhol futtatható, és tartalmazza a Notepad++ [3] szövegszerkesztő magyar nyelvű portable változatát is az NppToR [4] (a két program közötti átjárást biztosító) kiegészítővel egyetemben.

Egy-két ujjgyakorlat: futtassuk le az alábbi kódot R-ben!

1+1
(4+8)*4
4^2
sqrt(9)

Vektorok:

1+1
x <- c(20, 21, 23, 19, 21, 22, 20, 18, 31)
x
x+5
 
x[1]
x[2:4]
??length
length(x)
x[3:length(x)]
 
min(x)
max(x)
max(x)-min(x) == range(x)
range(x)
diff(range(x))
diff(x)
 
mean(x)
sd(x)
var(x)
 
summary(x)
table(x)
 
plot(x)
pie(x)
 
hist(x)
pie(table(x))
plot(table(x))
barplot(table(x))

Mátrixok:

x <- matrix(0, 5,5)
x <- matrix(runif(25), 5,5)
 
diag(x)
lower.tri(x)
x[lower.tri(x)]
det(x)
 
str(x)

Nézzük meg az mtcars adatbázist:

str(mtcars)
 
?mtcars
 
hist(mtcars$mpg)
hist(mtcars$mpg, main="Az első R-s hisztogramom!")
?hist
 
hist(mtcars$mpg, main="Az első R-s hisztogramom!", col="green", density=20)
abline(2,0, col="red", lty=2, lwd=2)
 
summary(mtcars$mpg)
summary(mtcars)
 
table(mtcars$gear)
pie(table(mtcars$gear))
 
cor(mtcars[, 1:7])
pairs(mtcars[, 1:7])
?pairs
 
panel.cor <- function(x, y, digits=2, prefix="", cex.cor, ...)
     {
         usr <- par("usr"); on.exit(par(usr))
         par(usr = c(0, 1, 0, 1))
         r <- abs(cor(x, y))
         txt <- format(c(r, 0.123456789), digits=digits)[1]
         txt <- paste(prefix, txt, sep="")
         if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
         text(0.5, 0.5, txt, cex = cex.cor * r)
     }
pairs(mtcars[, 1:7], upper.panel=panel.cor)

És akkor haladjunk az elemzéssel:

# A legmagasabb átlag:
max(mean(mtcars))
which.max(mean(mtcars))
 
table(mtcars$gear)
prop.table(table(mtcars$gear))
table(mtcars$gear, mtcars$am)
mosaicplot(table(mtcars$gear, mtcars$am))
mosaicplot(table(mtcars$gear, mtcars$am), shade=TRUE, color=TRUE)
chisq.test(table(mtcars$gear, mtcars$am))
 
t <- chisq.test(table(mtcars$gear, mtcars$am))
str(t)
t$expected
 
V <- function(x) sqrt(x$statistic^2/(sum(x$observed)*x$parameter))
V(t)
 
V <- function(x) as.numeric(sqrt(x$statistic/(sum(x$observed)*x$parameter)))
V(t)

Sűrűség- és eloszlásfv:

hist(rnorm(100, 0.5, 0.1))
curve(dnorm(x,0.5,0.1), add=TRUE, col="red")
 
curve(pnorm(x,0.5,0.1))