#############
##  Code of Slides:  Basic Concepts of the R Language
#############




####### Section:  Basic Interaction

##
1+3/5*6^2

##
rnorm(5,mean=30,sd=10) 

##
# function composition example
mean(sample(1:1000,30)) 

##
plot(sample(1:10,5),sample(1:10,5),
     main="Drawing 5 random points",xlab="X",ylab="Y")


####### Section:  Variables and Objects

##
vat <- 0.20

##
priceVAT <- 240 * (1 + vat)

##
k <- 10
g <- k/2
x <- g*2

##
x <- 23^3
x

##
x <- true

##
x <- 23
x
x <- 4
x


####### Section:  Vectors

##
prices <- c(32.4,35.4,30.2,35,31.99)
prices

##
prices <- c(worten=32.4,fnac=35.4,mediaMkt=30.2,radioPop=35,pixmania=31.99)
prices

##
barplot(prices)


####### Section:  Indexing

##
prices <- c(worten=32.4,fnac=35.4,
            mediaMkt=30.2,radioPop=35,pixmania=31.99) 
prices[3]

##
prices <- c(worten=32.4,fnac=35.4,
            mediaMkt=30.2,radioPop=35,pixmania=31.99) 
prices["worten"]

##
prices[worten]

##
prices <- c(worten=32.4,fnac=35.4,
            mediaMkt=30.2,radioPop=35,pixmania=31.99) 
prices[c(2,4)]

##
prices[c("worten","pixmania")]

##
prices[prices > 35]

##
prices[prices > mean(prices)]


####### Section:  Vectorization

##
vat <- 0.23
(1+vat)*prices

##
sqrt(prices)

##
prices2 <- c(worten=32.5,fnac=34.6,mediaMkt=32,
             radioPop=34.4,pixmania=32.1)
prices2

##
(prices+prices2)/2

##
prices > 35


####### Section:  Matrices

##
prc <- matrix(c(32.40,35.40,30.20, 35.00, 31.99, 
                32.50, 34.60, 32.00, 34.40, 32.01),
              nrow=2,ncol=5,byrow=TRUE)
prc

##
prc <- matrix(c(32.40,35.40,30.20, 35.00, 31.99, 
                32.50, 34.60, 32.00, 34.40, 32.01),
              nrow=2,ncol=5,byrow=TRUE)
prc

##
prc
prc[2,4]

##
prc[1,]
prc[,2]

##
colnames(prc) <- c("worten","fnac","mediaMkt","radioPop","pixmania")
rownames(prc) <- c("porto","lisboa")
prc

##
prc["lisboa",]
prc["porto","pixmania"]


####### Section:  Lists

##
lst <- list(id=12323,name="John Smith",
            grades=c(13.2,12.4,5.6))
lst

##
lst$grades

##
lst[c('name','grades')]

##
lst[[2]]

##
lst[2]


####### Section:  Data Frames

##
stud <- data.frame(nrs=c("43534543","32456534"),
                   names=c("Ana","John"),
                   grades=c(13.4,7.2))
stud

##
stud <- edit(stud)

##
stud

##
stud[2,3]
stud[1,"names"]

##
stud[1:2,]

##
stud[,c("names","grades")]

##
stud[stud$grades > 13,"names"]

##
stud[stud$grades <= 9.5, c("names","grades")]

##
subset(stud,grades > 13,names)
subset(stud,grades <= 9.5,c(nrs,names))
