Skip to content

[R-es] sutituir valores en un dataframe a partir de los valores de un vector

6 messages · Luciano Selzer, Jaume Tormo, Carlos J. Gil Bellosta

#
Hola,
Estimados erreros, tengo un problema.

Tengo un vector de 360 valores ori:
  ori<-c(0:359)
y otro vector de 360 valores diferentes insolacion:
  NES<-c(0:180)
  SEN<-c(179:1)
  insolacion<-c(NES,SEN)
y un dataframe con una serie de valores dades (os adjunto el csv)
  dades<-read.csv("pas.csv",h=T,sep=";")

Para cada valor de ori existe un valor de insolación (tal cual están
ordenados en los vectores). Me gustaría que R fuera a dades y sustituyera el
valor que hay (que es ori) con el correspondiente de insolación.
Como veis la cosa es sencilla, o debería serlo, por que yo llevo ya un rato
dándole vueltas a replace(), pero no acabo de ver como conseguirlo. Si veis
que está chupado dadme al menos una pista.


Muchas gracias a todos.


jaume
#
Con esa solución vas a tener problemas porque los nombres son
"character" y los datos por los que luego vas a indexar son enteros.

Igual funcionaría (digo igual porque no tengo posibidad de probar
ahora) utilizando una variante de la idea:

names(insolacion) <- as.character(ori)
dades2 <- insolacion[ as.character( dades$ori )]

Si no se hace el "cast", cuando R encuentra

insolacion[ 1 ]

piensa que te refieres a la posición 1 de insolación (que es lo que
hace) y no a la entrada de insolación a la que has denominado "1".

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com


El día 27 de septiembre de 2010 13:51, Luciano Selzer
<luciano.selzer en gmail.com> escribió: