Saltar al contenido

Cómo crear, apéndice, seleccionar y crear subconjuntos

¿Qué es un marco de datos?

UNA. marco de datos es una lista de vectores de igual longitud. Solo hay un tipo de datos en una matriz y un marco de datos acepta diferentes tipos de datos (numéricos, caracteres, factores, etc.).

En este tutorial, aprenderá:

Cómo crear un marco de datos

Podemos crear una base de datos en R ejecutando las variables a, b, c, da en la función data.frame (). Podemos crear una base de datos R y nombrar las columnas con el nombre () y especificar el nombre de las variables.

data.frame(df, stringsAsFactors = TRUE)

Argumentos:

Podemos crear una base de datos en R para nuestro primer conjunto de datos combinando cuatro variables de la misma longitud.


# Create a, b, c, d variables
a <- c(10,20,30,40)
b <- c('book', 'pen', 'textbook', 'pencil_case')
c <- c(TRUE,FALSE,TRUE,FALSE)
d <- c(2.5, 8, 10, 7)
# Join the variables to create a data frame
df <- data.frame(a,b,c,d)
df

Producción:


##   a       b c d
## 1  1        book  TRUE   2.5
## 2  2         pen  TRUE   8.0
## 3  3    textbook  TRUE  10.0
## 4  4 pencil_case FALSE   7.0

Podemos ver que los encabezados de las columnas tienen el mismo nombre que las variables. Podemos cambiar el nombre de la columna en R con los nombres de las funciones (). Echa un vistazo a la base de datos de creación de R de muestra a continuación:


# Name the data frame
names(df) <- c('ID', 'items', 'store', 'price')
df

Producción:


##   ID       items store price
## 1 10        book  TRUE   2.5
## 2 20         pen FALSE   8.0
## 3 30    textbook  TRUE  10.0
## 4 40 pencil_case FALSE   7.0

# Print the structure
str(df)

Producción:


## 'data.frame':    4 obs. of  4 variables:
##  $ ID   : num  10 20 30 40
##  $ items: Factor w/ 4 levels "book","pen","pencil_case",..: 1 2 4 3
##  $ store: logi  TRUE FALSE TRUE FALSE
##  $ price: num  2.5 8 10 7

De forma predeterminada, un marco de datos variable devuelve un factor cableado.

Marco de datos de corte

Se pueden obtener los valores SLICE de Data Framework. Seleccionamos las filas y columnas para volver a paréntesis bajo el nombre del marco de datos.

Un marco de datos consta de filas y columnas, df[A, B]. A representa las filas y B representa las columnas. Podemos deslizarnos especificando las filas y / o columnas.

De la imagen 1, la parte izquierda muestra el capas, y la parte correcta es la columnas. Tenga en cuenta que el símbolo es: recurso a. Por ejemplo, 1: 3 está destinado a seleccionar valores de 1 a 3.

En el siguiente diagrama mostraremos cómo acceder a las diferentes selecciones del marco de datos:

Tenga en cuenta que si dejamos la parte izquierda en blanco, seleccionamos R. todas las capas. Por analogía, si dejamos la parte derecha en blanco, R seleccionará. todas las columnas.

Podemos ejecutar el código en la consola:

## Select row 1 in column 2
df[1,2]

Producción:

## [1] book
## Levels: book pen pencil_case textbook

## Select Rows 1 to 2
df[1:2,]

Producción:


##   ID items store price
## 1 10  book  TRUE   2.5
## 2 20   pen FALSE   8.0
## Select Columns 1
df[,1]

Producción:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4
df[1:3, 3:4]

Producción:


##   store price
## 1  TRUE   2.5
## 2 FALSE   8.0
## 3  TRUE  10.0

También es posible seleccionar las columnas con sus nombres. Por ejemplo, el siguiente código tiene dos columnas: ID y repositorio.

# Slice with columns name
df[, c('ID', 'store')]

Producción:


##   ID store
## 1 10  TRUE
## 2 20 FALSE
## 3 30  TRUE
## 4 40 FALSE

Agregar columna al marco de datos

También puede agregar una columna a un marco de datos. Debe usar el símbolo $ para adjuntar la variable de marco de datos R y agregar una columna a una base de datos en R.

# Create a new vector
quantity <- c(10, 35, 40, 5)

# Add `quantity` to the `df` data frame
df$quantity <- quantity
df

Producción:


##   ID       items store price quantity
## 1 10        book  TRUE   2.5       10
## 2 20         pen FALSE   8.0       35
## 3 30    textbook  TRUE  10.0       40
## 4 40 pencil_case FALSE   7.0        5

Nota: El número de elementos en el vector debe ser igual al número de elementos en el marco de datos. Ejecute la siguiente declaración para agregar la columna a la base de datos R.

quantity <- c(10, 35, 40)
# Add `quantity` to the `df` data frame
df$quantity <- quantity

Da un error:

Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40)) 
 replacement has 3 rows, data has 4					

Seleccionar columna de marco de datos

A veces necesitamos almacenar una columna de un marco de datos para uso futuro o trabajar en una columna. Podemos usar el signo $ para seleccionar la columna de un marco de datos.

# Select the column ID
df$ID

Producción:

## [1] 1 2 3 4

Marco de datos de subtrama

En la sección anterior, seleccionamos una columna completa incondicionalmente. lata subconjunto basado en si una condición particular era verdadera o no.

Usamos la función de subconjunto ().


subset(x, condition)
arguments:
- x: data frame used to perform the subset
- condition: define the conditional statement

Solo queremos devolver los artículos con precio superior a 10, podemos hacer:

# Select price above 5
subset(df, subset = price > 5)

Producción:


ID       items store price
2 20         pen FALSE     8
3 30    textbook  TRUE    10
4 40 pencil_case FALSE     7