Operaciones aritméticas
suma <- (1 + 3) * (7 - 3)
(1 + 3) * (7 - 3)
1025/256
5^2
5*5
5^3.2
exp(pi) - pi
log(10)
sqrt(220)
Comandos generales
# Desplegar directorio de trabajo en R
getwd()
# dir <-
"C:/Users/jmgcl/Desktop/"
setwd(dir)
#Instalar paquetes
install.packages("cluster")
require("cluster" )
#mostrar objetos en el area de trabajo
ls( )
#mostrar las bases de datos del programa y emplear una base
de datos de ellas
data()
data(ChickWeight)
#estadistica
general
summary(ChickWeight)
#guardar el area de trabajo
save.image("sesion4.RData")
rm(list=ls()) # limpia el area de trabajo
Objetos
Vectores
vector1 <- c(10, 20, 30, 40, 5, 6, 7, 8, 9, 10)
vector2 <- c("a", "b", "c",
"d", "e", "b", "a", "c",
"b", "d")
Matriz
# crea una matriz de 0s
matrix(rep(0,16),nrow=r)
#crea
matrices
matriz_1
<- matrix(1:20, nrow = 2, ncol = 10)
matriz2
<- matrix(1:20, nrow = 2, ncol = 10, byrow = TRUE)
cbind(A,B) # Combina matrices(vectores) horizontalmente.
Crea una matriz.
rbind(A,B) # Combina
matrices(vectores) verticalmente. Crea una matriz.
rowMeans(A) # Crea un
vector con la media de las hileras.
rowSums(A) # crea
un vector con la suma de las hileras
colMeans(A) # Crea
un vector con la media de las columnas.
colSums(A) # Crea
un vector con la suma de las columnas.
Lista
# crea una lista
registro <-
list(nombre = "Fredy", esposa = "Mary", no.children = 3,
child.ages = c(4, 7, 9))
Data phrame
#crea un
data phrame
data1 <-
data.frame(vector3, matrix3)
attach(data_new) #haciendo que las columnas se comporten
como variables
#ordenacion de los datos de las bases de datos
df.iris1.ord
<- df.iris1[order(df.iris1$n_obs),]
#traduce y cambia los nombres
names(df.t4datos) <- c("millas_galon",
"cilindros", "desplazamiento",
"caballos_potencia",
"peso", "aceleracion", "anio",
"origen", "nombre")
#union de los datos de las bases de datos
df.iris
<- merge(df.iris1.ord, df.iris2.ord, by = c("n_obs",
"especies"))
Seleccion de datos
#selecciona la columna 6
matriz2[,6]
#selecciona la hilera 1
matriz_1[1,]
#selecciona los datos de acuerdo al nombre de la columna
names(fruit)
<- c("orange", "banana", "apple",
"peach")
Secuencias
#crea una secuencia del 1 al 15
x1 <- 1:15
#crea secuencia del 1 al 10 en 1 en 1
x2 <- seq(1, 10, by = 1)
#crea secuencia de longitude de 10 de 1 en 1
x3 <-
seq(length = 10, from = 1, by = 1)
# repite el valor 5 veces
rep(5,10)
# repite el vector 2 veces
rep(c("A","B","C"),2)
Factor
#crea un Factor
x10 <- c("a", "b", "c",
"a", "b", "c", "a", "c")
x10
x20 <- as.factor(x10)
x20
Funciones apply
#apply: aplica una función por hileras o columnas
apply(mi_matriz,2,sum)
#tapply: aplica una función de acuerdo a un factor
a <-
c(1,2,3,4,5,6,7,8,9)
f <-
factor(c("a","a","a","b","b","b","c","c","c"))
tapply(a,
f, mean)
#lapply: aplica una función y devuelve una lista
media_lista
<- lapply(mylist, function(x) mean(x))
#sapply: aplica una función y devuelve un vector
medias_l
<- sapply(mylist, function(x) mean(x))
Funciones
#crea una función
span.fun<-function(x)
{
(max(x)-min(x))>=5
}
Caracteristicas de un objeto
#analisis exploratorio de un data phrame
attributes(mydata)
names(mydata)
str(mydata)
dim(object)
class(object)
head(mydata,
n=3)
tail(mydata, n=3)
Subconjunto
#crea un subconjunto de los datos mayores a 45
subset(mydata, x>=45)
Datos faltantes
#crea vector con un dato faltante
bb <- c(1:10, NA)
#saca el promedio cuando hay un valor faltante
mean(bb,
na.rm = TRUE )
#identifica si hay datos faltantes
z <-
c(1:3,NA); ind <- is.na(z)
#pregunta si hay datos faltantes y los reconoce como falso
z <- x[!is.na(x)]
#crea un vector con los datos que no faltan y son mayores a
0 y les agrega 1
(x+1) [( !is.na(x) ) & x > 0 ] -> z
x[is.na(x)] <- 0 # reemplaza los datos faltantes por 0
#identificaion de datos perdidos
which(is.na(df.iris$lon.sepalo))
#importa una base de datos y hace a los símbolos como NA
bd2 <-
read.table("bd2.csv", header = TRUE, sep = ",", na.strings
= "$")
Datos al azar
#crea un vector con 50 numeros con media de 15 y desviación
de 3
Matx$x1
<- rnorm(50, mean=15, sd=3)
#crea un vector con numeros al azar con una semilla
set.seed(1303)
rand1 <-
rnorm(50)
#valores
densidad normal
dnorm(x,
mean = 0, sd = 1, log = FALSE)
#valores distribución normal
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
#cuantiles de una distribución
qnorm(p,
mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
#valores al azar
rnorm(n, mean = 0, sd = 1)
#valores aleatorios
X <- sample(x=100, size=10, replace=F)
Regresion lineal
#crea un vector con una regresión lineal
reg <- lm(y ~ x)
Exportar
#exporta un archivo .csv
write.csv(x,"xobs.csv")
#exporta un archivo .txt
write.table(matriz.B, "T4HJBVmatrizB.txt")
save(matriz.B, file="T4HJBVmatrizB.Rdata") #guarda
la matriz en formato .RData
Importar
# Importa el área de trabajo
save.image("sesion29enero2020.RData")
load("sesion29enero2020.RData")
# Importa archivos .csv
datos_prueba <- read.csv("datos_c4.csv", header
= TRUE, sep=”,”)
x1 =
read.csv("xobs.csv", header = TRUE)
Conversion
#convierte en matriz un vector
matA <- as.matrix(vector)
#convierte una matriz en un df
df.datos
<- as.data.frame(mdatos)
#convierte una columna en numero
Orange$Tree <- as.numeric(Orange$Tree)
matriz.A <- data.matrix(A) #convierte el data frame en
matriz
Renombrar
# Renombra una columna
colnames(wine) <-
c("Cultivar","Alcohol","Acido
malico","Ceniza","Alcalinidad de la ceniza",
"Magnesio", "Total
fenoles", "Flavonoides", "Fenoles no flavonoides",
"Proantocianidinas", "Intensidad del color",
"Matiz",
"OD280/OD315 de vinos diluidos", "Prolina")
#renombra una hilera
rownames(df.datos)[rownames(df.datos)=="fila_2"]
<- "Hilera_2"
Correlacion
#determina la correlacion entre dos variables
cor( x, y )
Normalidad
#determinacion de la normalidad
hist(df.wine.reg$residuals, xlab = "Residuos",
ylab = "Frecuencia",
main = "Histograma de normalidad
Flavanoids - Total phenols")
shapiro.test(df.wine.reg$residuals)
Media ponderada
#media ponderada por grupos
media_pond
<- bd1_calif %>%
group_by(id_est)
%>%
summarise(wm =
weighted.mean(calificacion, creditos))
#media ponderada normal
grades
<- c(95, 72, 87, 66)
weights
<- c(1/2, 1/4, 1/8, 1/8)
mean(grades)
weighted.mean
(x = grades, w = weights)
Prueba de hipotesis t.test
# Aplicando t.test
t.test(CW21$weight)
Comando agregate
#aplicar una función a una variable
agregate(y~x,
data = xxxxxx, funcion)
Analisis de varianza
aov(y~x-1,
data_phrame)
No hay comentarios.:
Publicar un comentario