¿Cómo reemplazar valores específicos en la columna en R DataFrame?

En este artículo, veremos cómo reemplazar valores específicos en una columna de DataFrame en lenguaje de programación R. 

Método 1: Usar la función Reemplazar() .

La función replace() en R Language se usa para reemplazar los valores en el vector de string x especificado con índices dados en la lista por los dados en los valores.

Sintaxis: replace(lista, posición, valor_reemplazo)

Toma tres parámetros: primero es el nombre de la lista, luego el índice en el que se debe reemplazar el elemento y el tercer parámetro son los valores de reemplazo.

Ejemplo:

R

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, -1, 14, -2 , 10, 13)
Full_Marks<-c(20, 10, 44, 21, 24, 36, 20, 13)
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names, Marks, Full_Marks)
 
print("Original DF")
print(df)
 
print("Replaced Value")
 
#replaces the negative numbers with zeros
data<-replace(df$Marks, df$Marks<0, 0)
print(data)

Producción:

[1] "Original DF"
  Roll_No  Names Marks Full_Marks
1       1 Suresh    15         20
2       2   Sita    20         10
3       3    Anu     3         44
4       4 Manasa    -1         21
5       5   Riya    14         24
6       6 Ramesh    -2         36
7       7  Roopa    10         20
8       8   Neha    13         13
[1] "Replaced Value"
15 20 3 0 14 0 10 13

Puede ver en el código anterior que hemos reemplazado el segundo elemento de «Sonam» a «Harish».

Método 2: Usando la condición lógica.

Ahora veamos cómo podemos reemplazar valores de valores específicos en la columna usando condiciones lógicas. Primero, vamos a crear el marco de datos en R  

R

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names,Marks)
 
print(df)

Producción:
 

Marco de datos

Ahora, veamos cómo podemos reemplazar valores específicos en la columna.

Ejemplo 1: en nuestro marco de datos, las marcas «Sita» se dan como 20 , reemplácelas con 25 .

Sintaxis: dataframe_name$column_name1[dataframe_name$column_name2==y]<-x

Parámetros:

  • y: es el valor que nos ayuda a buscar la ubicación de los datos en la columna
  • x: Es el valor que necesita ser reemplazado

Código:

R

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names, Marks)
 
df$Marks[df$Names == "Sita"] <- 25
# Column_name1 is Marks which we need to replace
 
# Print the modified data frame
print(df)

Producción:

Se reemplazan las marcas de Sita

En el código anterior, puede ver que hemos usado dos columnas (Marcas, Nombres) en nuestro marco de datos «df». Primero, buscamos los datos que necesitan ser reemplazados. En nuestro caso, necesitamos reemplazar las marcas de una persona cuyo nombre es «Sita». Entonces, pasamos por la columna Marcas y nos detenemos donde el nombre conectado a esas marcas es «Sita». Después de encontrar esa ubicación, reemplazamos las marcas con 25

Ejemplo 2:

Reemplacemos el nombre de «Ramesh» con «Vikas». 

R

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names,Marks)
 
df$Names[df$Names=="Ramesh"]<-"Vikas"
 
# Prints the modified data frame
print(df)

Producción:

Ramesh es reemplazado por Vikas

En el código anterior, puede ver que estamos obteniendo una fila donde el nombre es «Ramesh», por lo que es como una búsqueda lineal en una lista para encontrar la ubicación de un elemento dado. Después de encontrar esa ubicación, reemplazamos el nombre con «Vikas». ”.

Publicación traducida automáticamente

Artículo escrito por code_blooded7 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 *