Ad01

Ad02

viernes, 13 de enero de 2023

Comandos básicos en R

 

 

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

Ad3