Академический Документы
Профессиональный Документы
Культура Документы
ManipulacionesBasicas
Lecturayescrituradedatos
Concatenacin.Introduccinbsicadeunconjuntoconcatenadodevalores
data4<c(1.20,1.82,1.93,2.04,2.30,2.33,2.34,2.47,2.51,2.55,
2.64,2.76,2.77,2.90,2.91,3.20,3.22,3.39,3.59,4.02)
Lecturadetextotabulado.Paraestosecreaunatablaendondeenlaprimeralineaseponenlos
nombresdelasvariablesseparadosporespaciosotabulacionesyluegoslosvalores,separadosdela
mismamaneraquelasanteriores.Ej:
ID
01
02
03
...
Puntaje
21
1
12
1
14
2
Grupo
Estosdatospuedenleersedelsiguientemodo:
>data1<read.table(file.choose(),header=TRUE)
Parapresentarunpequeoresumendelosdatossepuedeprocedercomosigue
>head(data1)
paraleerunavariablesepuede
>data1$Puntaje
Tambinsepuedeadjuntarlosdatos
>attach(data1)
>data1
Peropuedequelasvariablesenmascaren(ooculten)otrasvariablesqueyaseencontrabanenel
entorno.
Otrosmodosdeintroducciondedatos
>edit(data1)
>newfile<edit(data.frame())
>write.table(data1,file=newfile.dat,row.names=FALSE)
Elultimocomandoguardaelarchivoeneldirectorioactualsiesquenoseespecificauno.
FuncionesBsicas
Imprimirunvalor.Esutilenelcasodeescribiruncodigo.Elejemploguardalamediaenla
variablexbaryluegoimprimeelvalor.
>xbar<mean(x)
>print(xbar)
[1]8.571429
Otrasfuncionesbasicas.
>length(x)
#devuelvelalongituddeunconjuntodedatos
>var(x)
>sd(x)
>hist(x)#ploteaungrfico.
Paraplotearunafuncinusarplot(funcion,desde,hasta):
>curve(1/x,1,1)
ElementosfundamentalesdeR
VectoresyAritmtica
Estructuradedatos
Vectoresyasignaciones.Rrealizaoperacionesbasicamentesobreestructurasdedatosconnombre,
enestecasoserealizaunaasignacindeunvectornumericoalavariablex,elvectorescreado
mediantelafuncionc():
x<c(10,4,5.6,3.1,6.4,21.7)
Unvectornmerico(hayotrostipos)esunconjuntoordenadodenumeros,lafuncinc() puede
tomarcomoargumentosunnumeroarbitrariodevectoresydevuelvelosvectoresconcatenados.Un
nmeroqueapareceporsmismoesconsideradocomounvectordelongituduno.
Operacionesconvectores
Reciclado.Enlasopreacionesconvectores,elvectormaspequeoesreciclado,hastacumplircon
lalongituddelvectormslargo.Porej.conunaxde5elementosyunayde11,elvectorxserepite
2.2veces,ylosvectoresunitarios(2y1)11veces:
>v<2*x+y+1
>v
[1]32.217.810.320.266.121.822.612.816.950.843.5
Operaciones.Losoperadoresaritmticossonlosusuales+, -, *, / y ^paraelevarauna
potencia.Ademstodaslasfuncionesaritmeticascomunesestndisponibleslog, exp, sin cos,
tan, sqrt,etc.maxyminseleccionanloselementosmayoresymenoresdeunvector
respectivamente.rangedevuelveunvectordelongituddos.lengtheselnumerode,sumlasuma
yprodelproductodeloselementosdeunvector.
mean,devuelvelamediadeunvector,loqueesigualque:
>sum(x)/length(x)
yvar,quedevuelvelavarianzamuestralqueesiguala:
>sum(xmean(x))^2/length(x)1
Sielargumentodevar()esunamatrizdenpelvalordevueltoesunamatrizdecovarianza
muestralppobtenidaconsiderandolasfilascomovectoresmuestralespvariados.
Paraordenarsepuedeusar,sort(x),quedevuelvelosvaloresordenadosdeformacreciente,o
order() osort.list().
pmax()ypmin()devuelvenunvectorquecontieneencadaelementoelelementomaslargo(o
chico)enesaposicindecadaunodelosvectoresprovistoscomoargumentos.
Paratrabajarconnumeroscomplejoshayqueproveerunapartecomplejaexplcita,porej.:sqrt(17+0i).
Generarsequencias
1:30equivaleac(1,2,...,30)eloperadordospuntostienelamayorprioridaddentrode
cualquieroperacin,peronomayorqueeloperadordepotenciacin(^).Tambinpuedeusarse
alrevez30:1.
Parasecuenciasmaselaboradassepuedeutilizarseq():
>seq(1,3,by=.2)
[1]1.01.21.41.61.82.02.22.42.62.83.0
>seq(length=11,from=1,by=.2)
[1]1.01.21.41.61.82.02.22.42.62.83.0
Tambinsepuedeusaralong=vectorquedeberaserelnicoparametroycrealasecuencia
1,2,...,length(vector)ounasecueniavacasielvectoresvaco.
Tambinsepuedeusarrep(),pararepetirunobjeto:
>x<1:3
>rep(x,times=3)
[1]123123123
>rep(x,each=5)
[1]111112222233333
Vectoreslgicos
EsunvectorconloselementosconvaloresTRUE,FALSEyNA(notavailable).Losdos
primerospuedenabreviarsecomoToF.Losvectoreslgicossongeneradosporcondiciones:
>2>3
[1]FALSE
Valoresperdidos
CuandounvalornoseencuentradisponibleoseencuentraperdidosedenominaNA,cualquier
operacinsobreunNAesunNA.Lafuncinis.na(x)devuelveunvectordelamismalongitudcon
elementosconvaloresTRUEsielmismoelementoenxesNA,delocontrarioelelementoes
FALSE:
>x<c(1,2,NA)
>is.na(x)
[1]FALSEFALSETRUE
NAnoesunvalorporloque:
>x==NA
[1]NANANA
Hayqueaclararqueis.na(x)esTRUEtantoparaNAcomoparaNaN,is.nan(x)soloesTRUEpara
NaN.
>x<c(x,NaN)
>is.na(x)
[1]FALSEFALSETRUETRUE
>is.nan(x)
[1]FALSEFALSEFALSETRUE
Vectoresdecaracteres
Vectoresindices;seleccionandoymodificandosubconjuntosdeunconjuntodedatos
Subconjuntosdeloselementosdeunvectorpuedenserseleccionadosaadiendoalnombredel
vectorunvectorndiceentreparentesiscuadrados.Masgeneralmentecualquierexpresinque
retorneunvectorpuedetenersubconjuntosdesuselementeosseleccionadosmedianteunvector
indice.
Dichosvectoresnidcepuedenserdecuatrotiposdistintos.
1. Vectoreslgicos.Enestecasoelvectorndicedebeserdelamismalongitudqueelvectora
seleccionar.ValoresTRUEdelvectorsonseleccionasyvaloresFALSE,sonignorados.
>x<1:10
>x[x>7]
[1]8910
>x<sqrt(x5)
Mensajesdeavisoperdidos
Insqrt(x5):SehanproducidoNaNs
>(x+1)[(!is.na(x))&x<2]
[1]1.0000002.0000002.4142142.732051
2. Vectordecantidadesintegralespositivas.Enestecasolosvaloresdelvectordebencaer
enelconjunto{1,2,,length(x)}.Loselementoscorrespondientesdelvectorson
seleccionadosyconcatenados,eneseorden.Losvectoresndicepuedenserdecualquier
longitud:
>x[6]
[1]6
>x[8:3]
[1]876543
>c("x","y")[rep(c(1,2,2,1),times=4)]
[1]"x""y""y""x""x""y""y""x""x""y""y""x""x""y""y""x"
3. Unvectordecantidadesintegralesnegativas.Dichovectorespecificalosvaloresaser
exluidos:
>x<seq(20,21,by=.1)
>x[(3:7)]
[1]20.020.120.720.820.921.0
4. Unvectordecadenas.Estaposibilidadsoloaplicacuandoelvectortieneunatributo
nombres(names)paraidentificarsuscomponentes.Enestecasounvectordenombres
puedeserusado
>notas<c(6,8,8.5,3,7,10,6.5)
>names(notas)<
c("Juan","Pedro","Maria","Yohana","Victoria","Julio","Sebastian")
>notas[c("Pedro","Sebastian","Yohana")]
PedroSebastianYohana
8.06.53.0
Unaexpresiontambienpuedeaparecerenlaseccionderecepcindelasasignaciones:
>x<1:10
>x[3:7]<mean(x)
>x
[1]1.02.05.55.55.55.55.58.09.010.0
Otrotiposdeobjetos
Matricesoarreglossongeneralizacionesmultidimencionalesdelosvectores.Deechoson
vectoresquepuedenserindexadospordosomsindicesyvanaserimpresasenciertas
formasespeciales.
Factoresproveenunmodocompactodemanejardatoscategoricos.
Listassonunaformageneraldelosvectoresenlascualeslosvarioselementosnonececitan
serdelmismotipo,ysonasuvez,ellosmismosvectoresolistas.Sonunmodoconveniente
dedevolverlosresultadosdecomputacionesestadisticas.
Dataframessonestructurastipomatrices,enlascualeslascolumnaspuedenserde
diferentestipos.
Funciones,sonellasmismasobjetosenRquepuedenserguardadasenelespaciodetrabajo
delproyecto.
LosObjetos
Modo.Losvectoressonobjetosatmicospuestosquetodossuselementossondelmismomodo:
numeric,complex,logical,characteryraw.
Losvectoresvaciosigualmentetienenmodo.Porej.character(0)ynumeric(0).
Laslistassondemodolist.Sonsecuenciasordenadasdeobjetosquepuedenserdecualquiermodo.
Debidoaquepuedentenerotraslistassonobjetosrecursivos.
Lasotrasestructurasrecursivossonaquellasdemodofunctionyexpression.
Parasaberelmododeunobjetosepuedeusarmode(x),yparasabersulongitudlength(x),otras
propiedaddelosobjetospuedehallarsemedianteattributes(object).
Muchoscambiospuedenforzarsemediantefuncionesdelaformaas.algo():
>x<seq(1,5,by=.5)
>as.character(x)
[1]"1""1.5""2""2.5""3""3.5""4""4.5""5"
>as.integer(x)
[1]112233445
Unobjetovaciopuedecrearsemediantelafuncionmodo():
>x<numeric()
Yluegopuedemodificarsesudimensinagregandosealgundatoaalgunindicefueradesurango
anterior(0)porlocualseresimensionaautomaticamente.
>x[3]<1
>length(x)
[1]3
>x[6]<2
>x
[1]NANA1NANA2
Parareducirlalongitudsepuedesimplementeasignar.
>x<1:10
>x<x[2*1:5]
>x
[1]246810
Tambiensepuedemodificardirectamentelalongitudmediante.
>length(x)<7
>x
[1]246810NANA
>length(x)<3
>x
[1]246
Obteneryasignaratributos
Lafuncionattributes(x)retornaunalistadetodoslosatributosnointrinsecos,actualmente
definidosparaelobjetox.Unatributoespecificopuedeobtenersemedianteattr(x,nombrede
atributo),paraasignarunatributosepuede:
>z<1:100
>attr(z,"dim")<c(10,10)
Lafuncionclass(x) devuelvelaclasedeunobjeto,todostienenuna.Paralosvectoresestaes
simplementeelmodo.Valoresposiblessonlist,matrix,array,factor,y
data.frame.Pararemovertemporalmentelaclasedeunobjetosepuedeusarunclass().
Factores
Unfactoresunobjetovectorutilizadoparaunaclasificaciondeloscomponentesdeotrosvectores
delamismalongitud.Unfactorsecreausandolafuncinfactor().
>Groupf<factor(Group)
paraaveriguarlosnivelesdeunfactorsepuedeusarlafuncinlevels().
>levels(Groupf)
[1]"1""2"
paraaplicarunafuncinasubconjuntosdeunvectorsepuedeusarlafuncintapply():
>medias<tapply(Score,Groupf,mean)
>medias
12
9.6363646.583333
Lafuncinordered()essimilarafactorsoloquealmacenaelordendelosfactoresprovistos,parala
mayoradelospropositossonlomismo,perohacenladiferenciaencuantoasuusoenmodelos
lineales.
ArraysyMatrices
Unarrayesunvectorcondimensiones,unamatrizunarraydedosdimensiones.Unvectorpuede
serusadocomounarraysitienenunvectordedimensioncomosuatributodim.Unvectorde
dimensionesunvectordeenterosnonegativos,lalongituddelvectorindicaelnumerode
dimensiones,ylasdimensionessonindexadasdesdeunohastalosvaloresprovistosenelvectorde
dimensin.
>z<1:1500
>dim(z)<c(3,5,100)
>z[1,1,1]
[1]1
>z[2,1,1]
[1]2
>z[1,2,1]
[1]4
>z[1,1,2]
[1]16
Losvaloressonasignadosdemodoordendecolumnamayorconlosprimerosindices
moviendosemasrapidoquelosdems.Lalongituddelvectoradimensionardebecoincidirconel
productodelaslongitudesdelasdimensiones.Losarraypuedenserunidimensionales,
generalmentesontratadosigualquelosvectores,perolasexcepcionespuedencausarconfusiones.
Indexaciondelosarrays
Loselementosdeunarraypuedenserrefernciadosdandoelnombredelarrayylosindicesdelas
correspondientesdimensionesencerradosencorchetescuadrados(z[3,2,59]).Tambinvarias
subseccionesdeunarraypuedenespecificarseproveyendovectoresindicesenvezdevalores
unicos,aldejarenblancounadimensionsetomatodoelrangodedichadimensin.
z[1,2,1]
[1]4
>z[1,2,c(1,2)]
[1]419
>z[1,2,]
[1]4193449647994109124139154169184
199214
[16]229244259274289304319334349364379394409
424439
[31]454469484499514529544559574589604619634
649664
[46]679694709724739754769784799814829844859
874889
[61]904919934949964979994100910241039105410691084
10991114
[76]1129114411591174118912041219123412491264127912941309
13241339
[91]1354136913841399141414291444145914741489
>z[1,2,z[1,2,]<1000]
[1]4193449647994109124139154169184199214229244
259274
[20]289304319334349364379394409424439454469484499514529
544559
[39]574589604619634649664679694709724739754769784799814
829844
[58]859874889904919934949964979994
Siseusaunsoloindice,entoncesloscorrespondientesvaloresdelvectorsonprovistos,ignorando
lasdimensiones.Peroestonoocurresielindiceniconoesunvectorsinounarrayensmismo.
Matricesndices
Envezdeproveervectoresindicesindividualesparacadadimenciondeunarray,sepuedeproveer
unamatrizindicecontantascolumnascomodimensionestieneunarray,tantoparaasignar,como
paraobtenerelementos.
>miarray<1:(5*5)
>dim(miarray)<c(5,5)
>MatrizIndice<c(1:5,1:5)
>dim(MatrizIndice)<c(5,2)
>miarray[MatrizIndice]<1
>miarray
[,1][,2][,3][,4][,5]
[1,]16111621
[2,]21121722
[3,]3811823
[4,]4914124
[5,]51015201
Lafuncinarray()
Losarrayssepuedenconstruirdemodoexpeditomediantelafuncionarray(vector_de_datos,
vector_dim).Sielvectordedatosesmenordelorequeridoporlasdimensionesdelarrayentonces
esreciclado.
>miarray<array(1:10,dim=c(5,2))
>miarray
[,1][,2]
[1,]16
[2,]27
[3,]38
[4,]49
[5,]510
>miarray<array(1:5,dim=c(5,2))
>miarray
[,1][,2]
[1,]11
[2,]22
[3,]33
[4,]44
[5,]55
Operaciones
Losarraysdedimensionessimilarespuedenutilizarseenoperacionesaritmeticas.Rrealizalas
operacionesprocediendoenunordenelementoporelemento.
>A<array(1:(5*5),dim=c(5,5))
>B<array((5*5):1,dim=c(5,5))
>D<A+B
>D
[,1][,2][,3][,4][,5]
[1,]2626262626
[2,]2626262626
[3,]2626262626
[4,]2626262626
[5,]2626262626
Elouterproductdeunarray
Unafuncindeposibleutilidadesouterproductquemultiplicatodosloselementosdeunarray
portodosloselementosdelotro,yelresultadoesunarraycuyadimensinesunaconcatenacinde
lasdimensionesdelosarraysusados.Esmassencilloentendersufuncionamientomediantesuuso
envectores.
>a<1:3
>b<4:7
>ab<a%o%b
>ab
[,1][,2][,3][,4]
[1,]4567
[2,]8101214
[3,]12151821
Tambinsepuedeusarlafuncinouter(a,b,*).Donde*puedeircualquierfuncin,por
ejemplo.
>f<function(x,y)sqrt(x^2+y^2)
>x<1:5
>y<11:15
>h<outer(x,y,f)
>h
[,1][,2][,3][,4][,5]
[1,]11.0453612.0415913.0384014.0356715.03330
[2,]11.1803412.1655313.1529514.1421415.13275
[3,]11.4017512.3693213.3416614.3178215.29706
[4,]11.7047012.6491113.6014714.5602215.52417
[5,]12.0830513.0000013.9283914.8660715.81139
Reorganizandodimensionesdearrays
Facilidadesparamatrices
t(X):eslatransposiciondeunamatrz
ncol(X);nrow(X):numerodecolumnasy/ofilasdeunamatriz.