Páginas
martes, 17 de junio de 2014
R Programming: Como filtrar una columna con la función subset()
> #Si tengo un data frame con las siguientes variables, o columnas:
> names(data)
[1] "Date" "sulfate" "nitrate" "ID"
> #Y deseo filtrar los valores de una columna, por ejemplo ID igual a uno:
> subset(data, ID == 1)
Date sulfate nitrate ID
38 2/3/04 2.58 0.632 1
53 8/13/04 5.52 0.173 1
64 11/17/04 2.21 0.568 1
69 1/16/05 2.30 0.719 1
74 2/27/05 2.75 0.479 1
79 4/4/05 2.18 0.211 1
86 6/15/05 4.85 0.266 1
100 11/6/05 2.41 0.302 1
108 12/24/05 2.24 1.800 1
> #Puedo filtrar por varias columnas a la vez, con el operador y (&) o el o(|)
> subset(data, ID==5 & sulfate >=3)
Date sulfate nitrate ID
633 10/12/03 5.99 0.428 5
663 7/14/04 3.54 0.576 5
667 8/19/04 12.20 0.223 5
674 10/12/04 3.09 0.466 5
676 10/18/04 3.61 0.372 5
679 10/30/04 7.37 0.590 5
> #Puedo filtrar una columna por un rango de valores con %in%
> subset(data, ID %in% 1:8)
Date sulfate nitrate ID
38 2/3/04 2.580 0.632 1
53 8/13/04 5.520 0.173 1
64 11/17/04 2.210 0.568 1
69 1/16/05 2.300 0.719 1
74 2/27/05 2.750 0.479 1
79 4/4/05 2.180 0.211 1
86 6/15/05 4.850 0.266 1
100 11/6/05 2.410 0.302 1
108 12/24/05 2.240 1.800 1
182 10/6/03 7.210 0.651 2
184 10/30/03 2.420 0.507 2
190 12/5/03 3.150 0.669 2
201 2/27/04 4.400 0.602 2
204 3/16/04 3.460 0.351 2
219 7/26/04 10.900 0.295 2
234 12/5/04 2.030 1.200 2
237 12/29/04 3.410 1.160 2
240 1/28/05 2.870 1.200 2
244 2/21/05 4.170 0.553 2
247 3/17/05 4.190 0.993 2
260 8/26/05 7.680 0.404 2
264 9/1/05 6.650 0.226 2
273 11/18/05 1.630 0.559 2
356 10/24/03 3.470 0.363 3
358 11/11/03 1.430 0.474 3
374 4/21/04 2.420 0.531 3
399 10/24/04 4.190 0.221 3
404 12/11/04 2.110 0.429 3
408 1/10/05 4.960 0.537 3
411 2/3/05 1.530 0.460 3
418 4/22/05 2.740 0.409 3
419 5/16/05 4.640 0.204 3
423 6/21/05 7.250 0.355 3
429 8/8/05 2.680 0.191 3
442 2/16/06 2.700 1.030 3
510 1/22/04 2.050 1.400 4
515 2/21/04 3.540 0.671 4
517 3/4/04 2.040 0.815 4
535 8/31/04 4.390 0.236 4
550 3/11/05 1.220 0.902 4
552 3/23/05 1.920 0.233 4
559 5/10/05 5.840 0.189 4
566 9/13/05 19.100 0.149 4
583 2/22/06 3.740 0.657 4
633 10/12/03 5.990 0.428 5
643 12/29/03 2.330 0.554 5
654 5/15/04 2.760 0.520 5
662 7/8/04 1.480 0.186 5
663 7/14/04 3.540 0.576 5
665 8/1/04 1.630 0.372 5
667 8/19/04 12.200 0.223 5
674 10/12/04 3.090 0.466 5
676 10/18/04 3.610 0.372 5
679 10/30/04 7.370 0.590 5
682 11/5/04 2.680 0.219 5
686 11/29/04 1.780 0.739 5
697 4/16/05 2.790 0.421 5
707 7/15/05 1.360 0.250 5
722 11/30/05 0.959 0.312 5
725 12/30/05 2.530 1.010 5
792 10/18/03 4.680 1.040 6
798 11/29/03 1.300 0.491 6
805 2/9/04 3.260 0.506 6
809 3/28/04 2.000 0.340 6
822 9/18/04 4.300 0.203 6
823 9/30/04 15.800 0.472 6
831 12/17/04 1.820 0.941 6
833 12/23/04 2.370 0.570 6
840 3/29/05 2.550 0.215 6
842 4/10/05 2.930 0.286 6
845 6/3/05 2.090 0.290 6
854 8/14/05 5.420 0.209 6
858 9/19/05 6.040 0.188 6
860 9/25/05 2.800 0.342 6
872 12/18/05 2.370 1.100 6
943 11/23/03 3.410 0.964 7
945 12/23/03 2.270 0.715 7
954 3/22/04 2.990 0.486 7
965 8/7/04 5.760 0.193 7
984 2/9/05 1.280 0.378 7
991 5/4/05 4.730 0.285 7
994 5/28/05 6.650 0.276 7
1006 12/12/05 0.613 0.326 7
1012 2/10/06 2.600 1.480 7
1076 1/10/04 7.130 0.518 8
1085 7/20/04 6.630 0.118 8
1088 8/25/04 4.980 0.227 8
1103 1/22/05 4.670 1.770 8
1118 6/27/05 3.220 0.205 8
1119 7/3/05 3.810 0.322 8
1122 7/21/05 1.850 0.177 8
1124 8/2/05 2.570 0.503 8
1126 8/20/05 9.520 0.193 8
1131 10/7/05 1.820 0.267 8
1135 11/24/05 1.670 0.743 8
1136 12/6/05 2.740 1.830 8
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario