Tutorial sobre como Seleccionar datos en R mediante índices.

Puedes seguir el tutorial por vídeo en https://youtu.be/3yQ3MbXBpy0

Establezco el directorio de trabajo

setwd("~/Expression/Expression Encoder/Output/23 Seleccionar datos I")

Importo los datos

Datos = read.table("Potato.csv", header=T, sep="," , dec=".") 

Verifico los datos cargados

head (Datos)    # Verifico los primeros datos
##   Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61 Numero40
## 1     Testigo    Krone    380      1120     16180      2360        9
## 2     Testigo    Krone   2000      1480     15600      2340       42
## 3     Testigo    Krone    820       920     14840      6580       16
## 4     Testigo    Krone    130      1120     17180     11780        3
## 5     Testigo    Krone   1840      1240     12580      7040       22
## 6     Tratado    Krone    700       880     19120      3060       13
##   Numero41a45 Numero46a60 NumeroMas61
## 1          23         130          16
## 2          25         124          14
## 3          13         129          28
## 4          16         125          44
## 5          16         101          30
## 6          11         138          12
str(Datos)      # Compruebo la estructura.
## 'data.frame':    18 obs. of  10 variables:
##  $ Tratamiento: Factor w/ 2 levels "Testigo","Tratado": 1 1 1 1 1 2 2 2 2 2 ...
##  $ Variedad   : Factor w/ 2 levels "Krone","Nicola": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Peso40     : int  380 2000 820 130 1840 700 440 1900 1300 620 ...
##  $ Peso41a45  : int  1120 1480 920 1120 1240 880 680 3620 2100 1620 ...
##  $ Peso46a60  : int  16180 15600 14840 17180 12580 19120 5880 12380 12780 12940 ...
##  $ PesoMas61  : int  2360 2340 6580 11780 7040 3060 740 620 1240 840 ...
##  $ Numero40   : int  9 42 16 3 22 13 7 37 25 12 ...
##  $ Numero41a45: int  23 25 13 16 16 11 8 38 31 22 ...
##  $ Numero46a60: int  130 124 129 125 101 138 44 107 112 113 ...
##  $ NumeroMas61: int  16 14 28 44 30 12 3 3 5 4 ...
summary(Datos)  # Veo resumen de datos
##   Tratamiento   Variedad      Peso40         Peso41a45      Peso46a60    
##  Testigo:9    Krone :10   Min.   : 130.0   Min.   : 300   Min.   : 5880  
##  Tratado:9    Nicola: 8   1st Qu.: 647.5   1st Qu.:1120   1st Qu.:12430  
##                           Median :1025.0   Median :1550   Median :13395  
##                           Mean   :1350.0   Mean   :2032   Mean   :13475  
##                           3rd Qu.:1975.0   3rd Qu.:2542   3rd Qu.:15410  
##                           Max.   :3340.0   Max.   :6720   Max.   :19120  
##    PesoMas61        Numero40      Numero41a45     Numero46a60   
##  Min.   :    0   Min.   : 3.00   Min.   : 5.00   Min.   : 44.0  
##  1st Qu.:  500   1st Qu.:12.25   1st Qu.:16.00   1st Qu.:101.0  
##  Median :  790   Median :19.50   Median :24.00   Median :112.5  
##  Mean   : 2278   Mean   :27.00   Mean   :26.22   Mean   :107.4  
##  3rd Qu.: 2355   3rd Qu.:36.25   3rd Qu.:36.25   3rd Qu.:122.5  
##  Max.   :11780   Max.   :71.00   Max.   :60.00   Max.   :138.0  
##   NumeroMas61    
##  Min.   : 0.000  
##  1st Qu.: 2.000  
##  Median : 3.500  
##  Mean   : 9.889  
##  3rd Qu.:13.500  
##  Max.   :44.000

Seleccionar datos del dataframe, mediante []

dataframe [fila , coluna]

Quiero seleccionar solo los datos de la variedad Krone, que son los de las filas de la 1 a la 10.

Datos [c(1:10) , ] # Selecciono filas de la 1 a la 10 y todas las columnas
##    Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61 Numero40
## 1      Testigo    Krone    380      1120     16180      2360        9
## 2      Testigo    Krone   2000      1480     15600      2340       42
## 3      Testigo    Krone    820       920     14840      6580       16
## 4      Testigo    Krone    130      1120     17180     11780        3
## 5      Testigo    Krone   1840      1240     12580      7040       22
## 6      Tratado    Krone    700       880     19120      3060       13
## 7      Tratado    Krone    440       680      5880       740        7
## 8      Tratado    Krone   1900      3620     12380       620       37
## 9      Tratado    Krone   1300      2100     12780      1240       25
## 10     Tratado    Krone    620      1620     12940       840       12
##    Numero41a45 Numero46a60 NumeroMas61
## 1           23         130          16
## 2           25         124          14
## 3           13         129          28
## 4           16         125          44
## 5           16         101          30
## 6           11         138          12
## 7            8          44           3
## 8           38         107           3
## 9           31         112           5
## 10          22         113           4
DatosKrone = Datos [c(1:10) , ] # Meto la selección en un objeto

Si quisiera los de la otra variedad.

Datos [-c(1:10) , ]
##    Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61 Numero40
## 11     Testigo   Nicola    700       300      8810       420       12
## 12     Testigo   Nicola   3340      3480     12700       680       71
## 13     Testigo   Nicola   2730      1800     11080       500       34
## 14     Testigo   Nicola    930      1940     11080       500       17
## 15     Tratado   Nicola    630      1440     16510      1600       13
## 16     Tratado   Nicola   1120      3430     14700       490       24
## 17     Tratado   Nicola   2120      2690     13850       220       65
## 18     Tratado   Nicola   2600      6720     14340         0       64
##    Numero41a45 Numero46a60 NumeroMas61
## 11           5          63           2
## 12          47         101           3
## 13          37          95           2
## 14          26          92           2
## 15          18         118           7
## 16          42         117           2
## 17          34         107           1
## 18          60         117           0
Datos [c(11:18) , ]
##    Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61 Numero40
## 11     Testigo   Nicola    700       300      8810       420       12
## 12     Testigo   Nicola   3340      3480     12700       680       71
## 13     Testigo   Nicola   2730      1800     11080       500       34
## 14     Testigo   Nicola    930      1940     11080       500       17
## 15     Tratado   Nicola    630      1440     16510      1600       13
## 16     Tratado   Nicola   1120      3430     14700       490       24
## 17     Tratado   Nicola   2120      2690     13850       220       65
## 18     Tratado   Nicola   2600      6720     14340         0       64
##    Numero41a45 Numero46a60 NumeroMas61
## 11           5          63           2
## 12          47         101           3
## 13          37          95           2
## 14          26          92           2
## 15          18         118           7
## 16          42         117           2
## 17          34         107           1
## 18          60         117           0
DatosNicola = Datos [c(11:18) , ] # Meto la selección en un objeto

Selecciono los datos de las pesadas.

Datos [ , c(1:6)]
##    Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61
## 1      Testigo    Krone    380      1120     16180      2360
## 2      Testigo    Krone   2000      1480     15600      2340
## 3      Testigo    Krone    820       920     14840      6580
## 4      Testigo    Krone    130      1120     17180     11780
## 5      Testigo    Krone   1840      1240     12580      7040
## 6      Tratado    Krone    700       880     19120      3060
## 7      Tratado    Krone    440       680      5880       740
## 8      Tratado    Krone   1900      3620     12380       620
## 9      Tratado    Krone   1300      2100     12780      1240
## 10     Tratado    Krone    620      1620     12940       840
## 11     Testigo   Nicola    700       300      8810       420
## 12     Testigo   Nicola   3340      3480     12700       680
## 13     Testigo   Nicola   2730      1800     11080       500
## 14     Testigo   Nicola    930      1940     11080       500
## 15     Tratado   Nicola    630      1440     16510      1600
## 16     Tratado   Nicola   1120      3430     14700       490
## 17     Tratado   Nicola   2120      2690     13850       220
## 18     Tratado   Nicola   2600      6720     14340         0

Selecciono los datos de las pesadas, pero solo los de la variedad Nicola.

Datos [c(11:18) , c(1:6)]
##    Tratamiento Variedad Peso40 Peso41a45 Peso46a60 PesoMas61
## 11     Testigo   Nicola    700       300      8810       420
## 12     Testigo   Nicola   3340      3480     12700       680
## 13     Testigo   Nicola   2730      1800     11080       500
## 14     Testigo   Nicola    930      1940     11080       500
## 15     Tratado   Nicola    630      1440     16510      1600
## 16     Tratado   Nicola   1120      3430     14700       490
## 17     Tratado   Nicola   2120      2690     13850       220
## 18     Tratado   Nicola   2600      6720     14340         0