Lenguaje R (3) -- estructura de datos

estructura de datos

vector- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

*Los vectores no se encuentran en otros lenguajes de programación, ¡la esencia de R!

Similar al concepto de conjuntos en matemáticas, que consta de uno o más elementos.

Matriz unidimensional para almacenar datos numéricos, de caracteres o lógicos

Los elementos en el vector solo pueden ser de un tipo de datos y no se pueden mezclar

crear

c() # puede entenderse como concatenar/recolectar/combinar

p.ej 

(1) x<-c(1,2,3,4,5)

(2) c(1:100) #Construir secuencia aritmética 1

       seq (from= 1, to = 100, by = 2) #Construye la secuencia aritmética 2, la diferencia aritmética es 2

       seq (from= 1, to = 100, length.out =10) #Solo genera 10 valores, por lo que la diferencia aritmética se hace mayor

(3) x[x>3] Saca el valor de x>3

(4) rep(x,cada = 2, tiempo=5) #Imprimir repetidamente cada elemento de x dos veces, cinco veces

     rep(x,c(2,3,5,1,3)) #Especifique el número de repeticiones para cada elemento en x

índice 

***Los índices en R comienzan desde 1 en lugar de 0***

x[1] #el primer elemento de x

x[c(4:18)] #x4~18 elementos

x[c(11,11,5,90,2)] #El elemento en la posición especificada

%in% Si el elemento está en el vector, no es necesario hacer un bucle

  p.ej. k<- z%in%c("uno", "dos")

nombres() #vector con nombre

por ejemplo, nombres (y) <- c ("uno", "dos", "tres")

Revisar

x[1] <- 1 #Modificar x con índice 1

append( x = nombre del vector, valores = asignación, after= xxx) # inserta un elemento después de xxx

rm(x) #borrar vector

y <- y[-c(1:3)] #eliminar elemento

operación

x+1 #x cada elemento +1

x+y #Suma los elementos correspondientes al índice, debe haber una relación múltiple entre los dos vectores

* #multiplicar

** #exponenciación

%% # resto

%/% # divisible

 Funciones comunes

abs(x) # Encuentra el valor absoluto

sqrt(x) # Encuentra la raíz cuadrada

log(16,base = 2) #tomar 2 como base

log10(x) #Encuentra el logaritmo en base 10

exp(x) #calcular exponente

techo (x) #devuelve el entero más grande no menor que x

floor(x) #devuelve el entero más grande no mayor que x

trunc(x) # devuelve la parte entera

round(x, num)#reservar xnum dígitos=

pecado(x) 

porque(x)

sum(x) # encuentra la suma

max(x) min(x) # Encuentra el mayor valor

range(x) # Encuentra el rango de x

mean(x) # Encuentra el valor promedio de x

var(x) #retorna la varianza de x

sd(x) #retorno x desviación estándar

prod(x) # Encuentra el producto de la multiplicación x

mediana(x) # Encuentra la mediana de x

cuantil(x) #calcular cuantil

which.max(x) #devuelve el valor de índice máximo del elemento x

cut(num,c(seq(0,100,10))) #Estadísticas de frecuencia

Matriz- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

*La matriz es bidimensional y necesita tener filas y columnas

*Los tipos de datos en la matriz deben ser consistentes

m<- matrix(1:20, 4, 5, byrow = T) #Construir una matriz con cuatro filas y cinco columnas, ordenar la matriz por fila

#nombra las filas y columnas

rnames <- c("R1", "R2", "R3", "R4", "R5") #nombre de la fila

cnames <- c("C1", "C2", "C3", "C4", "C5") #nombre de las columnas

dimnames(m) <- lista(rnames, cnames)

dim(x) <- c(4,5) #Añadir dimensión al vector para construir la matriz

índice

m[1,c(2,3,4)] #La primera fila de la matriz m, los elementos de la segunda, tercera y cuarta columna

m[ ,2] #accede a la segunda columna

m[-1,2] #Eliminar la primera fila y acceder a la segunda columna

m["R1","C2"] # también se puede acceder por nombre

operación

Matriz única:

Haz lo mismo para cada elemento.

Matriz doble:

Cuatro operaciones aritméticas: fila y columna consistentes

n*t #Matrix producto interno

n %*%t #producto externo de la matriz

diag(m) # encuentra la diagonal

t(m) #Transposición de matriz, intercambio de filas y columnas

# Calcular la suma

colSumas(m) 

filaSumas(m) 

# Calcular el promedio

colMeans(m)

FilaMedios(m)

Matriz- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

* De hecho, es una matriz multidimensional

crear

dim1 <- c("A1","A2" )

dim2 <- c("B1","B2","B3" )

dim3 <- c("C1", "C2", "C3", "C4" )

z <- array(1:24, c(2,3,4),dimnames = lista(dim1, dim2, dim3))

lista- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

*En otros lenguajes de programación, R generalmente es equivalente a una matriz, pero en el lenguaje R, una lista es la estructura de datos más compleja en R.

*Una lista es una combinación ordenada de algunos objetos. Una lista puede almacenar varios vectores, matrices, marcos de datos e incluso combinaciones de otras listas.

Comparar con un vector:

1. Similar al modo vectorial, todos son conjuntos de datos unidimensionales

2. El vector solo puede almacenar un tipo de datos, y los objetos en la lista pueden ser cualquier estructura de datos en R, incluso la lista misma

crear

# Crea una lista aquí para jugar

un <- 1:20

b <- matriz (1:20, 4)

c <- mtcars

d <- "esta es una lista de prueba"

mlist <- list(name1 = a,name2 = b,name3 = c,name4 = d) #Tenga en cuenta que el nombre es opcional

acceso

mlist[1] #El índice es similar a un vector, un subconjunto de la lista de salida o una lista

mlist[[1]] #Dos corchetes muestran el tipo de datos del elemento en sí

mlist[c(1,4)] #Cuando acceda a múltiples elementos, recuerde ponerlos en el vector

mlist $ nombre1 #Acceso a través de $+ nombre, muy eficiente

 Revisar

Asignación directa después del acceso

borrar

1. mlist <- mlist[-5] # índice negativo, asignar a la lista original

2. mlist[[5]] <- NULL #Asignar el valor correspondiente a NULL

Marco de datos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

* es una estructura de datos tabular diseñada para simular conjuntos de datos

*El conjunto de datos suele ser una matriz rectangular compuesta de datos, la fila representa la observación y la columna representa la variable. Diferentes industrias tienen diferentes nombres para la fila y la columna del conjunto de datos.

* es en realidad una lista. Los elementos de la lista son vectores, que forman las columnas de la base de datos, y cada columna debe tener la misma longitud, por lo que el marco de datos es una estructura rectangular, y las columnas del marco de datos deben tener un nombre

Matriz y base de datos

1. La forma del marco de datos es muy similar a la matriz.

2. Una base de datos es una lista de reglas de comparación

3. Las matrices deben ser del mismo tipo de datos

4. Cada columna del marco de datos debe ser del mismo tipo, y cada fila puede ser diferente

crear

state <- data.frame(state.name, state.abb, state.reigon, state.x77) #almacenar cada dato como un vector y fusionarlo con data.frame

acceso

state[c(2,4)] #salida de la segunda y cuarta columna

estado[,"estado.abb"]

estado["Alabama",] #índice por nombre

estado$Asesinato # $ símbolo índice

p.ej

lm(peso ~altura ,datos = mujeres) #Casos de uso de regresión lineal

#attach carga el marco de datos en la ruta de búsqueda

p.ej

adjuntar (mtcars) #De esta manera, puede escribir directamente el nombre de la columna sin $

detach(mtcars) #Cancelar la carga después de usar los datos

Factor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Rol: clasificación, frecuencia de cálculo y periodicidad

Clasificación de variables:

Tipo nominal: como nombre de ciudad, provincia

Tipo ordenado: bueno, mejor, mejor, mtcars$cyl (la cantidad de cilindros en el automóvil), state.division, state.region

Continuo: cualquier valor en un rango como altura, edad, tasa de crecimiento

En R, las variables nominales y las variables ordinales se denominan factores, factor. Los posibles valores de estas variables categóricas se convierten en un nivel (level), como bueno, mejor, mejor son todos un nivel, y el vector formado por estos valores de nivel se llama factor

definición

f <- factor(c("rojo","rojo", "azul", "verde", "azul", "azul")) 

semana <- factor (c("Lun", "Vie", "Jue","Miercoles", "Lun", "Viernes","Dom", ordenado = T, niveles = c("Lun","Mar" , "Wed", "Thu", "Fri", "Sat", "Sun")) #Dar el nivel del factor, para que la salida tenga orden

fcyl <- factor(mtcars$cyl) #Definir una variable como factor

Supongo que te gusta

Origin blog.csdn.net/Scabbards_/article/details/130263701
Recomendado
Clasificación