[R-es] Concatenar secuencia hasta el final con ifelse
Marcelino de la Cruz Rot
m@rce||no@de|@cruz @end|ng |rom urjc@e@
Mie Nov 4 20:27:54 CET 2020
No sé si te he entendido pero con el código que te he mandado, todas las
observaciones que tengan 1, 2, 3, 4 o 5 en Data$Order.individual
tendrán 1 en Data$Order.Page; todas las que tengan 6, 7, 8, 9, 0 10,
tendrán 2 en Data$Order.Page, etc, aunque haya varias que tengan valor 1
en esa variable. Vamos, como en este ejemplo:
> valores <- rep(1:3200, each=5)
>
> Order.individual <- c(1:20, 1:20)
>
> data.frame(Order.individual, Order.Page=valores[Order.individual])
Order.individual Order.Page
1 1 1
2 2 1
3 3 1
4 4 1
5 5 1
6 6 2
7 7 2
8 8 2
9 9 2
10 10 2
11 11 3
12 12 3
13 13 3
14 14 3
15 15 3
16 16 4
17 17 4
18 18 4
19 19 4
20 20 4
21 1 1
22 2 1
23 3 1
24 4 1
25 5 1
26 6 2
27 7 2
28 8 2
29 9 2
30 10 2
31 11 3
32 12 3
33 13 3
34 14 3
35 15 3
36 16 4
37 17 4
38 18 4
39 19 4
40 20 4
>
El 04/11/2020 a las 20:12, miriam.alzate using unavarra.es escribió:
> Hola, muchas gracias por contestar,
> Creo que no es exactamente eso porque a veces la variable
> Data$Order.individual es común a varias observaciones de la base de datos,
> es decir, puede haber varias observaciones que tengan valor 1 en esa
> variable. Si lo hago de la forma que me dices, no se si está teniendo eso
> en cuenta. La idea es que el código lea qué valor tiene la observación en
> Data$Order.individual, porque me interesa que por ejemplo de el valor 1 a
> las que tienen 5 o menos (aunque no sean sólo 5 observaciones y sean más).
>
> No se si me explico...
>
> Muchas gracias!
>
> El Mie, 4 de Noviembre de 2020, 18:32, Marcelino de la Cruz Rot escribió:
>> Hola:
>>
>> Si se tratase, como parece implícito, de que cada 5 unidades de
>> Data$Order.individual equivale a 1 unidad de Data$Order.Page, y si el
>> máximo valor es 16000, tendrías en total 16000/5 = 3200 valores posibles
>> para Data$Order.Page.
>>
>> Por lo tanto, podrías hacer algo así:
>>
>> valores <- rep(1:3200, each=5)
>> Data$Order.Page <- valores[Data$Order.individual]
>>
>> Saludos,
>> Marcelino
>>
>> El 04/11/2020 a las 17:49, miriam.alzate using unavarra.es escribió:
>>> Hola,
>>>
>>> Necesito asignar a cada observación un orden según su posición en un
>>> listado, estoy aplicando el siguiente código, pero no se cómo extenderlo
>>> para que lo haga hasta el final de las observaciones sin hacerlo
>>> manualmente:
>>>
>>> Data$Order.Page <- ifelse(Data$Order.individual <=5, 1,
>>> ifelse(Data$Order.individual<=10, 2,
>>> ifelse(Data$Order.individual <=15, 3,...
>>>
>>> Lo que nos diría es que si el orden individual es menor o igual que 5,
>>> la
>>> nueva variable tenga valor 1; si es menor o igual que 10, tenga valor 2;
>>> si es menor o igual que 15, valor 3, y así sucesivamente.
>>>
>>> Pero hay casos donde la variable Order.individual va del 1 al 16.000,
>>> por
>>> lo tanto no es práctico ponerlo de forma manual. ¿Hay forma de hacerlo
>>> automático?
>>>
>>> Muchas gracias
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> .
>>
>> --
>> Marcelino de la Cruz Rot
>> Depto. de Biología y Geología
>> Física y Química Inorgánica
>> Universidad Rey Juan Carlos
>> Móstoles España
>>
>>
>
> .
--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España
Más información sobre la lista de distribución R-help-es