¿Cómo crear, indexar y modificar Data Frame en R?

En este artículo, discutiremos cómo crear un marco de datos, indexar y modificar el marco de datos en el lenguaje de programación R.

Creación de un marco de datos:

Un marco de datos es una estructura de datos etiquetada bidimensional. Puede constar de campos/columnas de diferentes tipos. Simplemente se ve como una tabla en SQL o como una hoja de cálculo de Excel. En R, para crear un marco de datos, use el método data.frame(). La sintaxis para crear un marco de datos se da como-

data <- data.frame(columnName1=c(
    data1,data2,...),
    ...........
    columnNameN=c(data1,data2,...))

Ejemplo:

 En este ejemplo, veamos cómo crear un marco de datos en R usando el método data.frame().

R

# create a data frame 
stats <- data.frame(player=c('A', 'B', 'C', 'D'),
                runs=c(100, 200, 408, NA),
                wickets=c(17, 20, NA, 5))
  
print("stats Dataframe")
stats

Producción

"stats Dataframe"
  player runs wickets
1      A  100      17
2      B  200      20
3      C  408      NA
4      D   NA       5

Indexación del marco de datos:

Para acceder a los datos particulares en el marco de datos, use corchetes y especifique el nombre de la columna o los números de fila y los números de columna para buscar. Veamos las sintaxis de las diferentes formas de indexar un marco de datos.

# fetching the data in particular column
data["columnName"]

# fetching data of specified rows and 
# columns
data[ fromRow : toRow , columnNumber]

# fetches first row to third row 
# and second column
Eg:- data[1:3,2]  

Ejemplo:

En el siguiente código, creamos un marco de datos y lo indexamos al obtener los datos en las filas especificadas y columnas particulares.

R

# create a data frame 
stats <- data.frame(player=c('A', 'B', 'C', 'D'),
                runs=c(100, 200, 408, NA),
                wickets=c(17, 20, NA, 5))
  
print("stats Dataframe")
stats
  
# fetch data in certain column
stats["player"]
print("----------")
  
# fetch certain rows and columns
stats[1:3,2]

Producción

"stats Dataframe"
  player runs wickets
1      A  100      17
2      B  200      20
3      C  408      NA
4      D   NA       5
----------
  player
1      A
2      B
3      C
4      D
----------
100 200 408

Modificar el marco de datos:

Modificación de datos en un marco de datos

Para modificar los datos en un marco de datos, utilizamos técnicas de indexación y reasignación. Veamos la sintaxis de cómo modificar los datos en un marco de datos.

datos[númerofila, nombrecolumna] <- “nuevoValor”

Agregar una fila a un marco de datos

Para agregar una fila en el marco de datos, use la función rbind() que acepta dos parámetros. Uno es un marco de datos y el otro es la fila que necesitamos insertar como una lista de elementos. La sintaxis de rbind se da a continuación:

rbind( nombre del marco de datos, lista ( datos1, datos2, …))

Agregar una columna a un marco de datos

Para agregar una columna a un marco de datos, use la función cbind() que acepta dos parámetros. Uno es un marco de datos al que agregamos una nueva columna y el otro son datos en la nueva columna con el nombre de la columna. A continuación se muestra la sintaxis de la función cbind().

cbind( nombre del marco de datos, nombre de la columna = c (datos1, datos2, …))

Eliminar una fila y una columna de un marco de datos

Para eliminar una fila y una columna de un marco de datos usando la siguiente sintaxis

#  remove row from a dataframe
# deletes the row of specified row number 
dataframeName <- dataframeName[-rowNumber,]

# remove column from a dataframe
dataframeName$columnName <- NULL

Ejemplo: 

En el ejemplo, creamos un marco de datos y realizamos operaciones de modificación como inserción, eliminación y modificación en el marco de datos.

R

# create a data frame 
stats <- data.frame(player=c('A', 'B', 'C', 'D'),
                runs=c(100, 200, 408, NA),
                wickets=c(17, 20, NA, 5))
  
cat("stats Dataframe\n")
stats
  
# modify the data
stats[4,"runs"] <- 274
cat("\nModified dataframe\n")
stats
  
# added new row
cat("\nDataFrame after a row insertion\n")
stats<-rbind(stats,list('E',500,1))
print(stats)
  
# added new column
cat("\nDataFrame after a new column insertion\n")
stats<-cbind(stats,matches=c(2,3,10,2,12))
print(stats)
  
# deleted the second row
stats<-stats[-2,]
  
# deleted the wickets column
stats$wickets<-NULL
  
cat("\nDataframe after deletion of a row & column\n")
stats

 Producción

stats Dataframe
  player runs wickets
1      A  100      17
2      B  200      20
3      C  408      NA
4      D   NA       5

Modified dataframe
  player runs wickets
1      A  100      17
2      B  200      20
3      C  408      NA
4      D  274       5

DataFrame after a row insertion
  player runs wickets
1      A  100      17
2      B  200      20
3      C  408      NA
4      D  274       5
5      E  500       1

DataFrame after a new column insertion
  player runs wickets matches
1      A  100      17       2
2      B  200      20       3
3      C  408      NA      10
4      D  274       5       2
5      E  500       1      12

Dataframe after deletion of a row & column
  player runs matches
1      A  100       2
3      C  408      10
4      D  274       2
5      E  500      12

Publicación traducida automáticamente

Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *