Skip to content

Instantly share code, notes, and snippets.

@acidbjazz
Last active April 5, 2016 01:15
Show Gist options
  • Save acidbjazz/83b95abd4791779194239a8d6114986b to your computer and use it in GitHub Desktop.
Save acidbjazz/83b95abd4791779194239a8d6114986b to your computer and use it in GitHub Desktop.
R codes
# variables, asignación, vector y secuenciación
x <- c(seq(1,10)) #[1] 1 2 3 4 5 6 7 8 9 10
y <- c(seq(0.1, 1, 0.1)) #[1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
#acceso (índice empieza en 1, no en cero)
#también sirve para editar y agregar valores
y[2] #[1] 0.2
#acceso múltiple y rangos
y[c(2,4)] #[1] 0.2 0.4
y[2:4] #[1] 0.2 0.3 0.4
#nombres de elementos
names(x) <- c("elA", "elB", "elC", "elD", "elE", "elF", "elG", "elH", "elI", "elJ")
#elA elB elC elD elE elF elG elH elI elJ
# 1 2 3 4 5 6 7 8 9 10
#dibujar gráficas
barplot(x) #vector + nombres, barras
plot(x, y) #plano bidimensional
#operaciones matemáticas con vectores
x * 3 #3 6 9 12 15 18 21 24 27 30
x - y #0.9 1.8 2.7 3.6 4.5 5.4 6.3 7.2 8.1 9.0
x < y #FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
plot(sin(x), sqrt(y)) #gráfica seno y raíz
#pasar por alto un NA
a <- c(1, 3, NA, 7, 9)
sum(a, na.rm = TRUE) #[1] 20
#matrices
a <- 1:12
matrix(a, 3, 4) #data, filas, columnas
# [,1] [,2] [,3] [,4]
# [1,] 1 4 7 10
# [2,] 2 5 8 11
# [3,] 3 6 9 12
#transformar la variable del vector 'a' en matriz
dim(a) <- c(3, 4)
#acceso, edición, etc [fila, columna]
a[2,3] #8
#omitiendo valores. rangos
a[, 3:4]
# [,1] [,2]
# [1,] 7 10
# [2,] 8 11
# [3,] 9 12
#graficar matrices
contour(volcano) #mapa cenital
persp(volcano, expand=0.2) #3d
image(volcano) #mapa de calor
#media, mediana, desviación estándar
barplot(x)
abline(h = mean(x)) #dibujar la media
abline(h = median(x)) #dibujar la media
abline(h = sd(x) + mean(x)) #dibujar la desviación estándar + la media
abline(h = mean(x) - sd(x)) #dibujar la media - la desviación estándar
#factores
chests <- c('gold', 'silver', 'gems', 'gold', 'gems')
types <- factor(chests)
#Levels: gems gold silver
as.integer(types)
#[1] 2 3 1 2 1
levels(types)
#[1] "gems" "gold" "silver"
weights <- c(300, 200, 100, 250, 150)
prices <- c(9000, 5000, 12000, 7500, 18000)
plot(weights, prices, pch=as.integer(types))
legend("topright", levels(types), pch=1:length(levels(types)))
#data frames
treasure <- data.frame(weights, prices, types)
# weights prices types
# 1 300 9000 gold
# 2 200 5000 silver
# 3 100 12000 gems
# 4 250 7500 gold
# 5 150 18000 gems
#acceso $ = [[]]
treasure$prices
#cargar dataframes
targets <- read.csv("targets.csv")
infantry <- read.table("infantry.txt", sep="\t", header=TRUE)
#unir dataframes
merge(x = targets, y = infantry)
#test
cor.test(treasure$prices, treasure$weights)
#ecuación lineal
line <- lm(treasure$prices ~ treasure$weights)
abline(line)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment