Posgrado: Funciones básicas de R

Posgrado: Funciones básicas de R

Les subo las funciones que vimos ayer en el curso. No pude adjuntar el archivo así que se los copio aquí. Estas nos servirán para hacer la práctica de mañana.
Por favor mañana traigan instalado R y las librerías siguientes: adegenet, ape, hierfstat, genetics y vegan. En el archivo de texto dice como instalarlas.

En la tarde subiré una base de datos con la qué podrán trabajar.

Script:

### curso genómica evolutiva

### identificar el directorio en el que estamos
getwd()

#### movernos a la carpeta
setwd(«../Desktop/curso_genomica_poblaciones/informatica/»)
ls()
load(«.Rdata»)
### identificar el directorio en el que estamos
getwd()

### Operaciones
3+2
4**2
4^2
sqrt(9)

#### crear variables
x <- 10
y <- 5
x+y

### vectores
x <- c(1:10)
y <- c(1,5,6,10,34,56,76,23,43,56)

### Qué tamaño tiene
length(x)
length(y)

###operación de vectores
x+y

#### matriz
x <- matrix(data=c(1:4),nrow=2,ncol=2,byrow=T)
x
x[,1]
x[2,]
x[1,2]

### nombrar las variables
colnames(x)
colnames(x) <- c(«y1″,»y2»)

rownames(x)
rownames(x) <- c(«x1″,»x2»)
x

x <- matrix(data=NA,nrow=2,ncol=2,byrow=T)
x[,2] <- c(1,2)
x[1,1] <- c(4)

### crear variables
x <- seq(from=1,to=100,by=1)
y <- rep(x=2,25)
x <- c(x,y)
x <- matrix(data=x,nrow=25,ncol=5)

### data.frames
poblaciones <- paste(«P»,1:11,sep=»»)
p <- seq(from=0,to=1,by=0.1)
q <- 1-p
genpob <- data.frame(poblaciones,p,q)
### ver las variables
genpob$poblaciones
genpob$p
genpob$suma <- genpob$p+genpob$q
genpob
genpob$he <- 2*genpob$p*genpob$q
genpob$pp <- genpob$p^2
genpob$qq <- genpob$q^2
genpob

### plotear
plot(genpob$p,genpob$pp,type=»l»,col=»green»,lwd=2,xlab=»frecuencia de p», ylab=»frecuencia de los genotipos»,main=»frecuencias»)
lines(genpob$p,genpob$qq,col=»red»,lwd=2)
lines(genpob$p,genpob$he,col=»yellow»,lwd=2)
## te deja hacer sumas en las gráficas
lines(genpob$p,genpob$qq+genpob$pp+genpob$he,lwd=2)

### leer una tabla

tabla <- read.table(«frecuencias.csv»,header=T,sep=»\t»)
names(tabla)
tabla$IND.1
duplicated(tabla[,1])
duplicado <- duplicated(tabla[,1])
tabla[!duplicado,]
tabla <- tabla[!duplicado,]
tabla2 <- read.table(«frecuencias.csv»,header=T,sep=»\t»)
tabla2 <- tabla2[c(1,4,6,7),c(1,4:10)]
merge(x=tabla,y=tabla2,by=»Loci»)
#### darle nombre a los renglones y asi sólo quedan los valores
tablafinal <- merge(x=tabla,y=tabla2,by=»Loci»)
tablafinal <- data.frame(tablafinal,row.names=»Loci»)
subset(x=tablafinal,subset=tablafinal$Subespecie==»parviglumis»)
tablafinal <- subset(x=tablafinal,subset=tablafinal$Subespecie==»parviglumis»)
medias <- apply(X=tablafinal,MARGIN=2,FUN=mean)
#No funciona porqué hay una columna con caracteres
#Con – el elemento o vector, tomas todo expecto lo seleccionado
medias <- apply(X=tablafinal[,-1],MARGIN=2,FUN=mean)
medias

##Finalmente quiero que usen la funcion t()
t(tablafinal)
## No queremos que sea de caracteres. asi que hay que quitar la columna de subespecie:
tabla_par <- t(tablafinal[,-1])

## Instalen los siguientes paquetes. Vean la vigneta de adegenet basicos y leanla para mañana saber un poco que hacer
install.packages(pkgs=»adegenet»,dependencies=T)
install.packages(pkgs=»hierfstat»,dependencies=T)
install.packages(pkgs=»genepop»,dependencies=T)
install.packages(pkgs=»ape»,dependencies=T)
vignette(«adegenet-basics»)

q()

 

 

Tabla (guardenlo en .csv, separados por tabulador «\t»)

Loci Subespecie IND 1 IND 2 IND 3 IND 4 IND 5 IND 6 IND 7 IND 8 IND 9 IND 10
Loc 1 parviglumis 0.6696472168 0.6848449707 0.6627807617 0.7631835938 0.5443115234 0.8987731934 0.4073486328 0.6692199707 0.5106201172 0.6362609863
Loc 2 parviglumis 0.2174377441 0.3765258789 0.360748291 0.0152282715 0.7552490234 0.3500976563 0.844909668 0.8501281738 0.8827819824 0.5885620117
Loc 3 parviglumis 0.7137756348 0.1489868164 0.2951049805 0.3488769531 0.6695251465 0.8860473633 0.3276672363 0.3497619629 0.8807983398 0.0810852051
Loc 4 parviglumis 0.8437194824 0.7345275879 0.218963623 0.7163696289 0.6077880859 0.5751647949 0.8707885742 0.5229797363 0.0520629883 0.198638916
Loc 5 parviglumis 0.4846801758 0.1675109863 0.8414306641 0.1168212891 0.5062561035 0.8702697754 0.1435241699 0.8407897949 0.8596191406 0.9864807129
Loc 6 parviglumis 0.0103149414 0.3616638184 0.6304626465 0.5816650391 0.7770996094 0.5783691406 0.9076843262 0.5321960449 0.885345459 0.4540405273
Loc 7 mexicana 0.4392089844 0.1828613281 0.035736084 0.1820983887 0.2584533691 0.0919189453 0.0773620605 0.1434326172 0.9380187988 0.8955383301
Loc 3 mexicana 0.7137756348 0.1489868164 0.2951049805 0.3488769531 0.6695251465 0.8860473633 0.3276672363 0.3497619629 0.8807983398 0.0810852051
Loc 8 mexicana 0.9559020996 0.3175964355 0.2353210449 0.797454834 0.6937866211 0.1700439453 0.0048828125 0.9317932129 0.6901550293 0.797454834
Loc 9 mexicana 0.8298339844 0.665435791 0.8735656738 0.0649108887 0.662322998 0.9997558594 0.166229248 0.9269714355 0.9750671387 0.0073547363
Loc 10 mexicana 0.3781433105 0.3702087402 0.0587768555 0.5646972656 0.1343688965 0.2561950684 0.6184387207 0.1880493164 0.4920043945 0.0958251953