Tipos de datos

Fechas

#Solo fecha
as.Date("2024-07-24")
## [1] "2024-07-24"
#Fecha y hora
as.POSIXct("2024-07-24 18:43:00")
## [1] "2024-07-24 18:43:00 -05"
Sys.time()
## [1] "2024-07-25 19:02:33 -05"
Sys.Date()
## [1] "2024-07-25"

Estructuras de Datos

Vector

nombre<-c("Nazly","Astrid","Rodolfo","Nataly")
table(nombre)
## nombre
##  Astrid  Nataly   Nazly Rodolfo 
##       1       1       1       1
codes<-c(Italy=380,Canada=124,Egypt=818)
codes
##  Italy Canada  Egypt 
##    380    124    818
names(codes)
## [1] "Italy"  "Canada" "Egypt"
table(codes)
## codes
## 124 380 818 
##   1   1   1
#Acceder a posiciones especificas
codes[2]
## Canada 
##    124
codes[1:2]
##  Italy Canada 
##    380    124
codes[c(1,3)]
## Italy Egypt 
##   380   818
codes["Canada"]
## Canada 
##    124
class(codes)
## [1] "numeric"
#Funciones para generar vectores
seq(1:10)
##  [1]  1  2  3  4  5  6  7  8  9 10
#help("seq")
seq(0,10,by=2)
## [1]  0  2  4  6  8 10
seq(0,100,length.out=5)
## [1]   0  25  50  75 100
a<-c(1,"a",3.14)

Matrices

mat<- matrix(1:12,nrow=3,ncol=4,byrow=TRUE)
mat
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
rownames(mat)<-c("F1","F2","F3") #Asignar nombres a las filas
colnames(mat)<-c("C1","C2","C3","C4") #Asignar nombres a las filas

# Accede a posiciones [fila,columna]
mat[1:2,]
##    C1 C2 C3 C4
## F1  1  2  3  4
## F2  5  6  7  8

Listas

b<-list(numero=1,texto="hola",logico=TRUE,decimal=pi)
print(b)
## $numero
## [1] 1
## 
## $texto
## [1] "hola"
## 
## $logico
## [1] TRUE
## 
## $decimal
## [1] 3.141593
b
## $numero
## [1] 1
## 
## $texto
## [1] "hola"
## 
## $logico
## [1] TRUE
## 
## $decimal
## [1] 3.141593
calificacionesDip<-list(name="Astrid",student_id="1234",grades=c(5,4.8),final="A")
calificacionesDip
## $name
## [1] "Astrid"
## 
## $student_id
## [1] "1234"
## 
## $grades
## [1] 5.0 4.8
## 
## $final
## [1] "A"
#Accedeer a los elementos
calificacionesDip$student_id
## [1] "1234"
calificacionesDip[["studente_id"]]
## NULL
calificacionesDip[[2]]
## [1] "1234"

Dataframe

df_mat<-as.data.frame(mat)
df_mat
##    C1 C2 C3 C4
## F1  1  2  3  4
## F2  5  6  7  8
## F3  9 10 11 12
df<-data.frame(nombres=c("Rodolfo","Andres","Maria Daniela"),edades=c(23,24,25))
df
##         nombres edades
## 1       Rodolfo     23
## 2        Andres     24
## 3 Maria Daniela     25
city<-c("Bogota","Cali","Medellin")
temp_c<-c(14,34,28)

df_city_temp <- data.frame(city,temp_c)
df_city_temp
##       city temp_c
## 1   Bogota     14
## 2     Cali     34
## 3 Medellin     28
##Ejercicio agregar una colomuna al data frame con la temp en F usando una función

#Función
Caf<-function(x){
  return (9*x/5+32)
}
Caf(14)
## [1] 57.2
temp_F<-Caf(temp_c)
df_city_temp$temp_F <-temp_F
  
df_city_temp[temp_c<30,]
##       city temp_c temp_F
## 1   Bogota     14   57.2
## 3 Medellin     28   82.4
df_city_temp$city
## [1] "Bogota"   "Cali"     "Medellin"

Datasets en R

data()
data("BJsales")
BJsales
## Time Series:
## Start = 1 
## End = 150 
## Frequency = 1 
##   [1] 200.1 199.5 199.4 198.9 199.0 200.2 198.6 200.0 200.3 201.2 201.6 201.5
##  [13] 201.5 203.5 204.9 207.1 210.5 210.5 209.8 208.8 209.5 213.2 213.7 215.1
##  [25] 218.7 219.8 220.5 223.8 222.8 223.8 221.7 222.3 220.8 219.4 220.1 220.6
##  [37] 218.9 217.8 217.7 215.0 215.3 215.9 216.7 216.7 217.7 218.7 222.9 224.9
##  [49] 222.2 220.7 220.0 218.7 217.0 215.9 215.8 214.1 212.3 213.9 214.6 213.6
##  [61] 212.1 211.4 213.1 212.9 213.3 211.5 212.3 213.0 211.0 210.7 210.1 211.4
##  [73] 210.0 209.7 208.8 208.8 208.8 210.6 211.9 212.8 212.5 214.8 215.3 217.5
##  [85] 218.8 220.7 222.2 226.7 228.4 233.2 235.7 237.1 240.6 243.8 245.3 246.0
##  [97] 246.3 247.7 247.6 247.8 249.4 249.0 249.9 250.5 251.5 249.0 247.6 248.8
## [109] 250.4 250.7 253.0 253.7 255.0 256.2 256.0 257.4 260.4 260.0 261.3 260.4
## [121] 261.6 260.8 259.8 259.0 258.9 257.4 257.7 257.9 257.4 257.3 257.6 258.9
## [133] 257.8 257.7 257.2 257.5 256.8 257.5 257.0 257.6 257.3 257.5 259.6 261.1
## [145] 262.9 263.3 262.8 261.8 262.2 262.7
data("HairEyeColor")
HairEyeColor["Blond","Blue","Female"]
## [1] 64
# fijar una semilla para reproducibilidad
set.seed(123)

# Crear un vector de 1000 números enteros
vector<-sample(1:1000, 1000, replace = TRUE)
vector
##    [1]  415  463  179  526  195  938  818  118  299  229  244   14  374  665
##   [15]  602  603  768  709   91  953  348  649  989  355  840   26  519  426
##   [29]  649  766  211  932  590  593  555  871  373  844  143  544  490  621
##   [43]  775  905  937  842   23  923  956  309  135  821  923  224  166  217
##   [57]  290  989  581   72  588  575  141  722  865  859  153  294  277  463
##   [71]   41  431   90  316  223  528  116  606  774  747  456  598  854   39
##   [85]  159  752  209  374  818   34  516   13   69  895  755  409  308  278
##   [99]   89  928  537  983  291  424  880  286  908  671  121  110  158   64
##  [113]  483  910  477  480  711   67  663  890  847   85  165  648   51   74
##  [127]  178  362  236  610  330  726  127  972  212  686  785  958  814  310
##  [141]  931  744  878  243  862  847  792  113  983  619  903  477  975  151
##  [155]  666  614  767  160  391  155  426    5  326  784  280  800  789  567
##  [169]  843  932  238  764  339  985   39  822  986  137  455  738  560  589
##  [183]   83  696  879   39  196  769  680  286  606  500  985  784  344  310
##  [197]  459  944   20  872  195  861  164   52  876  534  177  554  827   84
##  [211]  523  633  951  392  302  597  877  706  619  589  430  710  761  712
##  [225]  428  672  250  804  429  398  528  983  381  545   40  936  522  473
##  [239]  200  978  125  265  775  903  186  573  252  458  152  831   54  919
##  [253]  538  235  289  185  765  413  627  522  309   54  205  875  779  537
##  [267]  564  794  391  409  727  346  160  468  509  920   57  457  617  357
##  [281]  279  270  878  646  347  129  218  618  881  698  337  797   26  539
##  [295]  981  519  956  757  666  553  724  390  498  222  671  861  657  960
##  [309]  421   57  660  163  985  238  673  578  516  330  225  389  117  537
##  [323]  648   55  217  597  557  658  682  415  134  711  957  873  688  913
##  [337]  757  941  988  447  821  104  821  831  711  468  210  349  401  737
##  [351]  258  177  386  141   24  945  963  466  130  165  703  588  377  781
##  [365]  170  445  710  874  234  422  508  880   64   80  483  548  987  475
##  [379]  291  765  343  323  479  560  450  111  791  963  905  317  807  222
##  [393]  287  734  585  292  226  790  890  684  297  860  605  637  811   39
##  [407]  237  165  619   33   83  396  866  277  209   76   94  803   30  217
##  [421]  946  175  374  323  115  377  850  608  465  358  682  424  938   96
##  [435]  538  397  404  742  148  989  980  862  937  392  935  714  593  447
##  [449]  338  744  243  106  887   11  625  364  386  403  461  141   31  926
##  [463]  115  790   94  714   16  709  420  178  417  464  412  177  524  437
##  [477]  924  578  562  204  175  947  373  646  464  384  122  399  403  315
##  [491]  259  494  865  760  289   48  331  100  108  301   10  170  280  348
##  [505]  999  402  209  468  827  649  309  395  108    8  626  261  541  306
##  [519]  326   74  282  585  267  887  262  736  204  723  219  696  352  667
##  [533]  990  119  452  856  924  579  622  936  646   36   55  490  240  891
##  [547]  632  862  304   10  665  422  612  105  793  388  463  180  278  373
##  [561]  241   24  679  559  956  703   37  686  566  303  719  912   19  712
##  [575]  671  378  549  615  244   48  188  958  464  393  139  299  371  670
##  [589]  189  970  311  189  418  569  382   38   84  319  686  846  838  402
##  [603]  642  120  712  331  533  441  199  499  599   72  315  714  677   81
##  [617]   55  134  424  756    6  128  879  668  800   49  739  476  239  340
##  [631]  193  709  459  303  148  898  190  624  191  446  119  627  522  627
##  [645]   59  817  903   61  422  108  292  373  535  115  930  600  644  950
##  [659]  413  698  983  763  203  758  993  246  440  947  690  251  560  643
##  [673]  545  990  162  322  576  168  442  788   78  665  493  199  424  445
##  [687]  995   95  918  464  379  342  221  696  161  620  448  242  693  927
##  [701]  814  968  536  828  926  407  229  224  785  474  699  441  171   23
##  [715]  218  484  301  648   79  511  507  164  237  579  807  929  422  493
##  [729]  730  796  986  209  599  693  358  650  877  358   41  904  129  848
##  [743]  886  450  232  334  396  730  840  639   41  264  697  201   52  225
##  [757]   67  680  770  577  457  903  973  541   20  206  124  592  775  740
##  [771]   45  332  281   91  653  980  138  606  127  425  780    8  839  271
##  [785]  595  945  747  167  499  255  599  634  931  902   71  772  970   81
##  [799]  944  776  437  579  876  896  437  750  997  270  412  646  137  673
##  [813]  628   46   64  531  229  610  129  220  692  222  836  507  602  122
##  [827]  331  901  502  484  787  291  929  743  709  829  919  169  729  447
##  [841]  561  341   69  320  504   76    2  886  786  772  106  111  855  374
##  [855]   72  449  888  971  229  523  719  335  953   56  618  271  207  436
##  [869]  876  957  601  292  387  263   68  120  744  565  357  792  742  836
##  [883]  835  523  586  256  349  471  901   88  416  857   11  586  463  755
##  [897]  700  287  842  685  827  280  512  803  242  778   64  328  172  298
##  [911]  160  679  903  678  529  468  384  929  741  970  365  970  898  591
##  [925]  471  879 1000  227  834  838  622  315  943  243  265  535  793  911
##  [939]  982  112  456   93  489  789  631   48  969  482  248  105  171  696
##  [953]  459  516  839  312  562  892  139  758  481  843  828  250  742  597
##  [967]  330  633  626  195   99   98   58  424  988  525    8  258  635  262
##  [981]  599  529  928  206  199  589  840  870  459  234  529  839   55  892
##  [995]  531  753  488  271  942  398
# Reemplazar aleatoriamente algunos valores por NA
num_na<-100 # Número de valores NA desaeados
na_indices<-sample(1:1000, num_na)
vector[na_indices]<-NA

print(vector())
## logical(0)
mean(vector)
## [1] NA
ind<-is.na(vector)
ind
##    [1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##   [13] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##   [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [37] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##   [49] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
##   [61] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##   [73] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##   [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [109] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [145] FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
##  [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [193] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [205] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [217] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##  [241] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [253] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [265]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [277] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [289] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##  [325] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [337] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
##  [349] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [373] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE
##  [385] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [397] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [409] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [457] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [469]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE
##  [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [505] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [517] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [529] FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [541]  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [553] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [565]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [577] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [589] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [601] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [613] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [625] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [637] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [649] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE
##  [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [673] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [685] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [697] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [709]  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [721] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [733] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [745] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [757] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [769] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [781] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [793] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [805] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [817] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [829] FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [841] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [853] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [865] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [877] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [889] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [901] FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [913]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [925] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [937] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [949] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [961] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [973] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [985] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [997] FALSE FALSE FALSE FALSE
sum(ind) #Conteo de NA
## [1] 100
mean(vector)
## [1] NA
mean(vector[!ind])
## [1] 498.2311
s1<-summary(vector)
s2<-summary(vector[!ind])
ls()
##  [1] "a"                 "b"                 "BJsales"          
##  [4] "BJsales.lead"      "Caf"               "calificacionesDip"
##  [7] "city"              "codes"             "df"               
## [10] "df_city_temp"      "df_mat"            "HairEyeColor"     
## [13] "ind"               "mat"               "na_indices"       
## [16] "nombre"            "num_na"            "s1"               
## [19] "s2"                "temp_c"            "temp_F"           
## [22] "vector"
d<-c("a","b","c","d","e")
logi<-c(TRUE,FALSE,TRUE,FALSE,TRUE)
d[!logi]
## [1] "b" "d"
print(s1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##     2.0   243.8   483.5   498.2   747.8  1000.0     100

Instalar paquetes

##install.packages(c(“dslabs”,“Rtools”))

library(dslabs)
data("murders")

levels(murders$region)
## [1] "Northeast"     "South"         "North Central" "West"
nlevels(murders$region)
## [1] 4
murders
##                   state abb        region population total
## 1               Alabama  AL         South    4779736   135
## 2                Alaska  AK          West     710231    19
## 3               Arizona  AZ          West    6392017   232
## 4              Arkansas  AR         South    2915918    93
## 5            California  CA          West   37253956  1257
## 6              Colorado  CO          West    5029196    65
## 7           Connecticut  CT     Northeast    3574097    97
## 8              Delaware  DE         South     897934    38
## 9  District of Columbia  DC         South     601723    99
## 10              Florida  FL         South   19687653   669
## 11              Georgia  GA         South    9920000   376
## 12               Hawaii  HI          West    1360301     7
## 13                Idaho  ID          West    1567582    12
## 14             Illinois  IL North Central   12830632   364
## 15              Indiana  IN North Central    6483802   142
## 16                 Iowa  IA North Central    3046355    21
## 17               Kansas  KS North Central    2853118    63
## 18             Kentucky  KY         South    4339367   116
## 19            Louisiana  LA         South    4533372   351
## 20                Maine  ME     Northeast    1328361    11
## 21             Maryland  MD         South    5773552   293
## 22        Massachusetts  MA     Northeast    6547629   118
## 23             Michigan  MI North Central    9883640   413
## 24            Minnesota  MN North Central    5303925    53
## 25          Mississippi  MS         South    2967297   120
## 26             Missouri  MO North Central    5988927   321
## 27              Montana  MT          West     989415    12
## 28             Nebraska  NE North Central    1826341    32
## 29               Nevada  NV          West    2700551    84
## 30        New Hampshire  NH     Northeast    1316470     5
## 31           New Jersey  NJ     Northeast    8791894   246
## 32           New Mexico  NM          West    2059179    67
## 33             New York  NY     Northeast   19378102   517
## 34       North Carolina  NC         South    9535483   286
## 35         North Dakota  ND North Central     672591     4
## 36                 Ohio  OH North Central   11536504   310
## 37             Oklahoma  OK         South    3751351   111
## 38               Oregon  OR          West    3831074    36
## 39         Pennsylvania  PA     Northeast   12702379   457
## 40         Rhode Island  RI     Northeast    1052567    16
## 41       South Carolina  SC         South    4625364   207
## 42         South Dakota  SD North Central     814180     8
## 43            Tennessee  TN         South    6346105   219
## 44                Texas  TX         South   25145561   805
## 45                 Utah  UT          West    2763885    22
## 46              Vermont  VT     Northeast     625741     2
## 47             Virginia  VA         South    8001024   250
## 48           Washington  WA          West    6724540    93
## 49        West Virginia  WV         South    1852994    27
## 50            Wisconsin  WI North Central    5686986    97
## 51              Wyoming  WY          West     563626     5
head(murders,3)
##     state abb region population total
## 1 Alabama  AL  South    4779736   135
## 2  Alaska  AK   West     710231    19
## 3 Arizona  AZ   West    6392017   232
str(murders)
## 'data.frame':    51 obs. of  5 variables:
##  $ state     : chr  "Alabama" "Alaska" "Arizona" "Arkansas" ...
##  $ abb       : chr  "AL" "AK" "AZ" "AR" ...
##  $ region    : Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
##  $ population: num  4779736 710231 6392017 2915918 37253956 ...
##  $ total     : num  135 19 232 93 1257 ...
class(murders)
## [1] "data.frame"
names(murders)
## [1] "state"      "abb"        "region"     "population" "total"
sort(murders$total)
##  [1]    2    4    5    5    7    8   11   12   12   16   19   21   22   27   32
## [16]   36   38   53   63   65   67   84   93   93   97   97   99  111  116  118
## [31]  120  135  142  207  219  232  246  250  286  293  310  321  351  364  376
## [46]  413  457  517  669  805 1257
order(murders$total,decreasing=TRUE) #Entrega posciciones
##  [1]  5 44 10 33 39 23 11 14 19 26 36 21 34 47 31  3 43 41 15  1 25 22 18 37  9
## [26]  7 50  4 48 29 32  6 17 24  8 38 28 49 45 16  2 40 13 27 20 42 12 30 51 35
## [51] 46
murders$state[5] #Estado con el total de asesinatos mas alto
## [1] "California"
murders$state[46] #Estado on el total de asesinatos mas bajo
## [1] "Vermont"
attach(murders)
state[5]
## [1] "California"
max(total)
## [1] 1257
pos_max<-which.max(total)
pos_max
## [1] 5
min(total)
## [1] 2
pos_min<-which.min(total)
pos_min
## [1] 46
state[pos_max]
## [1] "California"
state[pos_min]
## [1] "Vermont"

Ejercicio

## 1. Escriba una linea de código para mostrar el número de estados por región del dataset murders

table(murders$region)
## 
##     Northeast         South North Central          West 
##             9            17            12            13
## 2. Use el dataset movielens del paquete dslabs y responda.

data("movielens")

## a.¿Cuántas filas hay?

nrow(movielens)
## [1] 100004
## b.¿Cuántas variables hay?

ncol(movielens)
## [1] 7
## c.¿Qué tipo es la variable title?

class(movielens$title)
## [1] "character"
## d. Qué tipo es la variable genres?

class(movielens$genres)
## [1] "factor"
## e. Cuántos niveles hay en la variable genres?

nlevels(movielens$genres)
## [1] 901
## 3. Utilice el operador $ para acceder a los datos del tamaño de la población y almacenarlos en el objeto pop. A continuación, utilice la función order() para redefinir pop de modo que esté ordenado. Por último, utilice el operador [ ] para informar del menor tamaño de población.

pop<-c(murders$population)
pop
##  [1]  4779736   710231  6392017  2915918 37253956  5029196  3574097   897934
##  [9]   601723 19687653  9920000  1360301  1567582 12830632  6483802  3046355
## [17]  2853118  4339367  4533372  1328361  5773552  6547629  9883640  5303925
## [25]  2967297  5988927   989415  1826341  2700551  1316470  8791894  2059179
## [33] 19378102  9535483   672591 11536504  3751351  3831074 12702379  1052567
## [41]  4625364   814180  6346105 25145561  2763885   625741  8001024  6724540
## [49]  1852994  5686986   563626
order(pop,decreasing=TRUE)
##  [1]  5 44 10 33 14 39 36 11 23 34 31 47 48 22 15  3 43 26 21 50 24  6  1 41 19
## [26] 18 38 37  7 16 25  4 17 45 29 32 49 28 13 12 20 30 40 27  8 42  2 35 46  9
## [51] 51
sort(pop,decreasing=TRUE)
##  [1] 37253956 25145561 19687653 19378102 12830632 12702379 11536504  9920000
##  [9]  9883640  9535483  8791894  8001024  6724540  6547629  6483802  6392017
## [17]  6346105  5988927  5773552  5686986  5303925  5029196  4779736  4625364
## [25]  4533372  4339367  3831074  3751351  3574097  3046355  2967297  2915918
## [33]  2853118  2763885  2700551  2059179  1852994  1826341  1567582  1360301
## [41]  1328361  1316470  1052567   989415   897934   814180   710231   672591
## [49]   625741   601723   563626
i<-which.min(pop) #Da el indice con el valor de menor tamaño respecto a la población
i
## [1] 51
murders$population[i]
## [1] 563626