# vettori
# es.3
s<-rep(c("C","G","T","C"),times=3)
sub <- s[s!="C"]   # oppure sub <- s[which(s!="C")]
sub[(length(sub)+1):(length(sub)+3)] <- NA  #oppure c(sub,rep(NA,3)) 
sub <- sub[!is.na(sub)]

# es.5
vet <- runif(100)
subvet <- vet[vet>0.2 & vet <0.6]  # oppure which
w <- subvet[seq(2,length(subvet),by=2)]
w <- (w-mean(w))/sd(w)


# matrici
# Es.1:
m <- matrix (runif(100), nrow=10)
m <- matrix (runif(100), ncol=10)
m <- array(runif(100), c(10,10))

# es.2
x <- matrix (rep(c("T","A","C"),c(4,5,3)), nrow=3)
y <- matrix (rep(c("A","G","C"),c(4,9,2)), nrow=5)
x[,1:2] <- t(y)[,4:5]

# es.3
M <- matrix(1:15,3)
N <- matrix(1:20,ncol=5)
MN <- rbind(M,N)

# es.4
A <- matrix(runif(9),nrow=3)
B <- matrix(runif(9),nrow=3)
Pel <- A*B
P <- A%*%B
b <- runif(3)
x <- solve(A,b)


# Fattori
f <- factor(rep(c("basso","medio","alto"), c(5,5,5)),levels=c("basso","medio","alto"),ordered=T)
mis <- runif(15)
mis <- sort(mis)
tapply(mis,f,mean)
tapply(mis,f,sd)

# liste
li <-list(m=matrix(rnorm(64),nrow=8),s=c(rep("T",3),rep("G",5)))
li$m[,2]
li$s[li$s=="G"]

# data frame
# es1
v <- sample(20)
m <- matrix(runif(32),ncol=4)
li <- list(m=matrix(sample(36),ncol=6))
data.frame(v,m,li)        #WARNING:  arguments imply differing number of rows: 20, 8, 6

v <- sample(20)
m <- matrix(runif(32),nrow=4)
li <- list(m=matrix(sample(35),nrow=5))
data.frame(v,m,li)

# es2
x <- rep("a",12)
y <- rep("s",3)
z <- rep("c",24)
li <- list(x=x,y=y,z=z) # multipli del massimo!! ad esempio 12,3,15 :dataframe non funza!!
as.data.frame(li)

#Es3
iris[iris$Species=="virginica" & iris$Petal.Length>5.980,]
summary(iris[iris$Species=="versicolor",])