Está en la página 1de 4

filter(DF,Estatura>=175,Signo%in%c("Acuario","Piscis","Virgo")) #primera forma

filter(DF,Estatura>=175,Signo=="Acuario"|Signo=="Piscis"|Signo=="Virgo")#segunda
forma

//cambiar el nombre de los elementos de la columna Video


DFN$Video[DFN$Video %in% c("no","NO")] <- "No"
DFN$Video[DFN$Video %in% c("si","SI","sí","SÍ","Sí")] <- "Si"
--------------------------------------------------------------------
DFN$Edad[DFN$Edad == "Luis gutiwrrs 20"] <- 20
-----------------------------------------------------------------------------------
-----
table(DFN$Video) //ver los elementos de la columna
unique(DFN$Video) //ver los elementos de la columna
----------------------------------------------------------
round(sum(!complete.cases(DC))/nrow(DC)*100,2) // ver el porcentaje de los datos
incompletos de DC
round(sum(!complete.cases(DD))/nrow(DD)*100,2) // ver el porcentaje de los datos
incompletos de DD
----------------------------------------------------------
table(DF$Barco)/100 //cantidad de veces que participó un variable en un estudio.
Note en que unidad está (100)
---------------------------------------------------------
min(table(DF$Barco)/100) //hallar la variable que participo menos en el estudio
---------------------------------

table(DF$Signo, useNA="always") //incluido los NA


max(DF$Signo, na.rm=T) //max devuelve solo un elemento maximo,
//aunque hubiera mas elementos maximos de un mismo valor.

x<- DF$Signo
table(x,useNA="always")[(table(x,useNA="always")==max(table(x),na=rm=T))]
//se define la moda de la variable signo
-------------------------------------------------------------------------
rango <- max(DF$Estatura) - min(DF$Estatura) //rango de la variable estatura
sd(DF$Peso, na.rm=T) //Desviacion estandar de la variable peso
IQR(DF$Edad, na.rm=True) //rango intercuartil
var(DF$Peso,na.rm=T)
-------------------------------------------------------------
¿Como crear una funcion?
cv<- funcion(x){
return(sd(x,na.rm=T)/mean(x,na.rm=T))
//coeficiente de variación de la variable

----------------------------------------------------------------------------
###Descriptores numericos para una variable
mean(DF$Estatura, na.rm=T) //media de la variable estatura
median(DF$Estatura, na.rm=T) //mediana de la variable estatura
--------------------------------------------------------------------

###Descriptores numericos para 2 variables


cor(DF$Estatura,DF$Peso,"pairwise.complete.obs")
cor(DF$Estatura,DF$Peso,"complete.obs") #Se recomienda usar esta opcion
//coeficiente de correlación
cov(DF$Estatura,DF$Peso,"pairwise.complete.obs")
cov(DF$Estatura,DF$Peso,"complete.obs") #Se recomienda usar esta opcion
//covarianza

correlacion <- cov(DF$Estatura,DF$Peso,


use="pairwise.complete-obs")/(sd(DF$Estatura,
na.rm=T)*sd(DF$Peso, na.rm=T))
correlacion
-----------------------------------------------------------------------------------
---------------
###Descriptores gráficos
Graficas de dispersión
Sugieren si hay relación entre dos variables

plot(DF$Estatura,DF$Peso)
plot(DF$Estatura,DF$Peso, pch=20) //solo puntos
Circulos con transparencia
plot(DF$Estatura,DF$Peso, pch=20, col=rgb)

//Usamos transparencia para visualizar mejor la nubve, con RGB (rojo, azul y verde)
plot(DF$Estatura,DF$Peso, pch=20, col=rgb(0,0,0,0.2)
-----------------------------------------------------------------------------------
--------------------------
para graficar la recta de regresion lineal
plot(DF$Peso, DF$Estatura, pch=20, col=rgb(0,0,0,0.2),main="Estatura Vs Peso",
xlab="Peso (en kg)", ylab="Estatura (en cms)")
abline(lm(DF$Estatura ~ DF$Peso), col="red")

-----------------------------------------------------------------------------------
--------------------
Vamos a hacer una grafica de dispersion a color, diferenciados por sus sexos
plot(DF$Peso[DF$Sexo=="F"], DF$Estatura[DF$Sexo=="F"],pch=20, col=rgb(0,0,0,0,0.2),
main="Estatura vs Peso", xlab="Peso (en kg), ylab="Estatura (en cms)")
abline(lm(DF$Estatura[DF$Sexo=="F"]|[DF$Sexo=="f"] ~ DF$Peso[DF$Sexo=="F"|
DF$Sexo=="f"]),col="red")
abline(lm(DF$Estatura[DF$Sexo=="M"]|[DF$Sexo=="m"] ~ DF$Peso[DF$Sexo=="M"|
DF$Sexo=="m"]),col="blue")

cor(DF$Peso,DF$Estatura, use="complete.obs")
cor(DF$Peso[DF$Sexo=="F"|DF$Sexo=="f"], DF$Estatura[DF$Sexo=="F"|DF$Sexo=="f"],
use="complete.obs")
cor(DF$Peso[DF$Sexo=="M"|DF$Sexo=="m"], DF$Estatura[DF$Sexo=="M"|DF$Sexo=="m"],
use="complete.obs")

Notas adicionales

filter(vuelos, mes == 1, dia == 1)


arrange -> ordena filas

# convert comma to dot


dot = gsub(",","\\.", c("50,9", "56,9", "64"))

# Tipo interno o modo de almacenamiento de cualquier objeto


typeof(1) # "double"

# Clase del objeto


class(2) # "numeric"

# Establece u obtiene el modo de almacenamiento o el tipo de un objeto


# Esta clasificación está relacionada con el lenguaje S
storage.mode(3) # "double"
mode(4) # "numeric"
# Estructura del objeto
str(5)
//El porcentaje de valores nulos
table(is.na(DFN))/(nrow(DFN)*ncol(DFN))*100
---------------------------------------------------------------
una observacion es un fila
df[3,1]
df[8:9,]
df[4:5,4;5]
Hallar observaciones incompletas / filas inc ompletas /
USA COMPLETECASES

Datos faltantes
sum(is.na(DF))
datos completos
sum(!is.na(DF))

datos faltantes entre todas las variables


which.max(colSums(is.na(DF)))
colSums(is.na(DF))

datos faltantes en en data en la variable carrera

DF[which.max(rowSums(is.na(DF))),"Carrera"]
tamaño efectivo de la muestra de la variable/
cat('Número de observaciones válidas:',nrow(DF)-sum(is.na(DF$Peso)),'\n')
#calcula el número de pesos válidas (no na's)
## Número de observaciones válidas: 317
cat('Proporción de observaciones
válidas:',round((nrow(DF)-sum(is.na(DF$Peso)))/nrow(DF)*100,2),'\n')
-------------------------------------------------------
DATOS ATIPICOS
DEMASIADOS GRANDES
sum(boxplot.stats(DF$Edad)$out>boxplot.stats(DF$Edad)$stats[5])
DEMASIADOS PEQUEÑOS
sum(boxplot.stats(DF$Edad)$out<boxplot.stats(DF$Edad)$stats[1])

par(mfrow = c(1, 3))


tasa extra
tasa <- numeric(length(n) - 1)
for (i in 2:length(n)) {
tasa[i - 1] <- n[i]/n[i - 1]
}

plot(yr[2:length(n)], tasa)

plot(yr[2:length(n)], tasa, main = "Tasa de Crecimiento", xlab = "año", pch = 16)

tasa <- n[2:6]/n[1:5]


lambda <- 3
yr <- c(yr, 2015:2020)
n <- c(n, numeric(6))

for (i in 7:length(n)) {
n[i] <- n[i - 1] * lambda
}

plot(yr, n)
n0 <- 2
tiempo <- 0:11
nt <- n0 * lambda^tiempo

plot(tiempo, nt)
}

n0 <- 2
n <- numeric(20)
n[1] <- n0
for (t in 1:(length(n) - 1)) {
n[t + 1] <- n[t] + rd * n[t] * (1 - n[t]/K)
}

plot(1:length(n), n, type = "l", lwd = 2, xlab = "tiempo")

---------------------------------
Se agrega una nueva columna
dfPersonas$AgeGt20 <- dfPersonas$Age > 20
dfPersonas

dfSubmuestra <- dfPersonas[dfPersonas$Name == 'John',]


dfSubmuestra

df2 <- data.frame("Name" = c("John","Dora"),"Colesterol"=c(12.34,34))


dfNuevo <- merge(dfPersonas,df2)
dfNuevo

unidad muestral una observacion

mode <- function(x) {


return(as.numeric(names(which.max(table(x)))))
}

DFN$Edad[DFN$Edad == "Luis gutiwrrs 20"] <- 20


DFN$Edad[DFN$Edad > 50] <- N

par(mfrow = c(1, 3))


------------------------------------------------
Si las cuatro carreras eliminatorias se
forman aleatoriamente con las 32 participantes.

También podría gustarte