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:
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:
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:
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