Hola a todos y muchas gracias de antemano por vuestra ayuda,
Kit de la pregunta
Como se puede ver arriba, tengo que asignar valores numéricos de la columna A a la columna B, de modo que el número 4193 en la columna B coincida con el número 1 en la columna A todas y cada una de las veces, el número 15 en la columna B coincide con el número 2 en la columna A todas y cada una de las veces, y así sucesivamente (esta es solo una muestra aleatoria que he presentado como ejemplo, ya que estoy trabajando con un conjunto de datos extremadamente grande). Esto no debería haber sido gran cosa, pero la cosa es que estas dos columnas son de diferente tamaño (la columna A es mucho más grande que la columna B).
He pasado horas y horas tratando de hacer esto por mí mismo, así como buscando en foros, pero no he encontrado ninguna pregunta similar sobre cómo solucionar este problema. Además, debido a que el conjunto de datos con el que estoy trabajando es extremadamente grande, no hay forma de que pueda hacerlo manualmente.
Estaría enormemente agradecido si alguien pudiera ayudarme con esto. Una idea general sobre cómo hacer esto en R o en Excel sería muy apreciada.
¡Muchas gracias una vez más!
PD: olvidé agregar que la idea principal sería que cada número de la columna B se repitiera al lado del número correspondiente de la columna A (como se explicó anteriormente). No sé cómo hacer esto computacionalmente, pero lógicamente, la idea es agrandar la columna B o poner los números en otra columna, digamos, la columna C.
Solución del problema
Con los siguientes valores de Ay B,
A <- c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L,
6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L,
8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L)
B <- c(4324L, 1459L, 2871L, 3915L)
utilizar repcon table(A)como timesargumento.
rep(B, table(A)[seq_along(B)])
# [1] 4324 4324 4324 4324 4324 4324 4324 4324 1459 1459 1459 1459 1459 1459 1459
#[16] 1459 1459 1459 2871 2871 2871 2871 2871 2871 2871 2871 2871 2871 3915 3915
#[31] 3915 3915 3915 3915 3915 3915
No hay comentarios:
Publicar un comentario