3 votos

Cómo actualizar filas seleccionadas de un marco de datos espaciales en R

Tengo un SpatialPointsDataFrame leído a través de rgdal::readOGR

require(rgdal)
my_sp_layer <- readOGR(dsn="my_dsn", layer="my_layer_file")

# select rows using col_attrib column
my_sp_layer@data[my_sp_layer@data$col_attrib == 'some value',]  

¿Cómo puedo actualizar los valores de las filas seleccionadas?

Si se trata de una tabla data.table, yo utilizaría simplemente

my_data_table[col_attrib == 'some value', col_to_update := 'new value']

4voto

elmigranto Puntos 171

En primer lugar, convierta la columna que desea modificar en character ya que se establecerá en factor por defecto:

shapefile@data$column_update <- as.character(shapefile@data$column_update)

A continuación, sólo tiene que seleccionar la columna que desea actualizar con la notación de subconjunto ( [ ] ) y utilice asignar <- :

Shapefile@data$column_update[shapefile@data$column_condition == "condition"] <- " new_value"

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X