Sahlre
5 de mayo de 2016
Esta semana aprenderemos sobre uno de los objetos de almacenamiento más utilizados en el software R. Profundizaremos en la función data.frame, y más aún en cómo seleccionar elementos.También enseñaremos a cargar aquellas bases de datos que tienes almacenadas en la famosa hoja de cálculo de Microsoft conocida como Excel.
Un data frame es un objeto de almacenamiento de dos dimensiones que cuyas columnas representan las variables en una base de datos, y las filas corresponden a las observaciones. Los data frame almacenan distintos tipos variables, tal cual lo hacen las hojas de cálculo de Excel.
Ejemplo de diversas bases de datos. Note que cada base de datos tipo data frame hacen parte de R
mtcars## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
iris## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## 11 5.4 3.7 1.5 0.2 setosa
## 12 4.8 3.4 1.6 0.2 setosa
## 13 4.8 3.0 1.4 0.1 setosa
## 14 4.3 3.0 1.1 0.1 setosa
## 15 5.8 4.0 1.2 0.2 setosa
## 16 5.7 4.4 1.5 0.4 setosa
## 17 5.4 3.9 1.3 0.4 setosa
## 18 5.1 3.5 1.4 0.3 setosa
## 19 5.7 3.8 1.7 0.3 setosa
## 20 5.1 3.8 1.5 0.3 setosa
## 21 5.4 3.4 1.7 0.2 setosa
## 22 5.1 3.7 1.5 0.4 setosa
## 23 4.6 3.6 1.0 0.2 setosa
## 24 5.1 3.3 1.7 0.5 setosa
## 25 4.8 3.4 1.9 0.2 setosa
## 26 5.0 3.0 1.6 0.2 setosa
## 27 5.0 3.4 1.6 0.4 setosa
## 28 5.2 3.5 1.5 0.2 setosa
## 29 5.2 3.4 1.4 0.2 setosa
## 30 4.7 3.2 1.6 0.2 setosa
## 31 4.8 3.1 1.6 0.2 setosa
## 32 5.4 3.4 1.5 0.4 setosa
## 33 5.2 4.1 1.5 0.1 setosa
## 34 5.5 4.2 1.4 0.2 setosa
## 35 4.9 3.1 1.5 0.2 setosa
## 36 5.0 3.2 1.2 0.2 setosa
## 37 5.5 3.5 1.3 0.2 setosa
## 38 4.9 3.6 1.4 0.1 setosa
## 39 4.4 3.0 1.3 0.2 setosa
## 40 5.1 3.4 1.5 0.2 setosa
## 41 5.0 3.5 1.3 0.3 setosa
## 42 4.5 2.3 1.3 0.3 setosa
## 43 4.4 3.2 1.3 0.2 setosa
## 44 5.0 3.5 1.6 0.6 setosa
## 45 5.1 3.8 1.9 0.4 setosa
## 46 4.8 3.0 1.4 0.3 setosa
## 47 5.1 3.8 1.6 0.2 setosa
## 48 4.6 3.2 1.4 0.2 setosa
## 49 5.3 3.7 1.5 0.2 setosa
## 50 5.0 3.3 1.4 0.2 setosa
## 51 7.0 3.2 4.7 1.4 versicolor
## 52 6.4 3.2 4.5 1.5 versicolor
## 53 6.9 3.1 4.9 1.5 versicolor
## 54 5.5 2.3 4.0 1.3 versicolor
## 55 6.5 2.8 4.6 1.5 versicolor
## 56 5.7 2.8 4.5 1.3 versicolor
## 57 6.3 3.3 4.7 1.6 versicolor
## 58 4.9 2.4 3.3 1.0 versicolor
## 59 6.6 2.9 4.6 1.3 versicolor
## 60 5.2 2.7 3.9 1.4 versicolor
## 61 5.0 2.0 3.5 1.0 versicolor
## 62 5.9 3.0 4.2 1.5 versicolor
## 63 6.0 2.2 4.0 1.0 versicolor
## 64 6.1 2.9 4.7 1.4 versicolor
## 65 5.6 2.9 3.6 1.3 versicolor
## 66 6.7 3.1 4.4 1.4 versicolor
## 67 5.6 3.0 4.5 1.5 versicolor
## 68 5.8 2.7 4.1 1.0 versicolor
## 69 6.2 2.2 4.5 1.5 versicolor
## 70 5.6 2.5 3.9 1.1 versicolor
## 71 5.9 3.2 4.8 1.8 versicolor
## 72 6.1 2.8 4.0 1.3 versicolor
## 73 6.3 2.5 4.9 1.5 versicolor
## 74 6.1 2.8 4.7 1.2 versicolor
## 75 6.4 2.9 4.3 1.3 versicolor
## 76 6.6 3.0 4.4 1.4 versicolor
## 77 6.8 2.8 4.8 1.4 versicolor
## 78 6.7 3.0 5.0 1.7 versicolor
## 79 6.0 2.9 4.5 1.5 versicolor
## 80 5.7 2.6 3.5 1.0 versicolor
## 81 5.5 2.4 3.8 1.1 versicolor
## 82 5.5 2.4 3.7 1.0 versicolor
## 83 5.8 2.7 3.9 1.2 versicolor
## 84 6.0 2.7 5.1 1.6 versicolor
## 85 5.4 3.0 4.5 1.5 versicolor
## 86 6.0 3.4 4.5 1.6 versicolor
## 87 6.7 3.1 4.7 1.5 versicolor
## 88 6.3 2.3 4.4 1.3 versicolor
## 89 5.6 3.0 4.1 1.3 versicolor
## 90 5.5 2.5 4.0 1.3 versicolor
## 91 5.5 2.6 4.4 1.2 versicolor
## 92 6.1 3.0 4.6 1.4 versicolor
## 93 5.8 2.6 4.0 1.2 versicolor
## 94 5.0 2.3 3.3 1.0 versicolor
## 95 5.6 2.7 4.2 1.3 versicolor
## 96 5.7 3.0 4.2 1.2 versicolor
## 97 5.7 2.9 4.2 1.3 versicolor
## 98 6.2 2.9 4.3 1.3 versicolor
## 99 5.1 2.5 3.0 1.1 versicolor
## 100 5.7 2.8 4.1 1.3 versicolor
## 101 6.3 3.3 6.0 2.5 virginica
## 102 5.8 2.7 5.1 1.9 virginica
## 103 7.1 3.0 5.9 2.1 virginica
## 104 6.3 2.9 5.6 1.8 virginica
## 105 6.5 3.0 5.8 2.2 virginica
## 106 7.6 3.0 6.6 2.1 virginica
## 107 4.9 2.5 4.5 1.7 virginica
## 108 7.3 2.9 6.3 1.8 virginica
## 109 6.7 2.5 5.8 1.8 virginica
## 110 7.2 3.6 6.1 2.5 virginica
## 111 6.5 3.2 5.1 2.0 virginica
## 112 6.4 2.7 5.3 1.9 virginica
## 113 6.8 3.0 5.5 2.1 virginica
## 114 5.7 2.5 5.0 2.0 virginica
## 115 5.8 2.8 5.1 2.4 virginica
## 116 6.4 3.2 5.3 2.3 virginica
## 117 6.5 3.0 5.5 1.8 virginica
## 118 7.7 3.8 6.7 2.2 virginica
## 119 7.7 2.6 6.9 2.3 virginica
## 120 6.0 2.2 5.0 1.5 virginica
## 121 6.9 3.2 5.7 2.3 virginica
## 122 5.6 2.8 4.9 2.0 virginica
## 123 7.7 2.8 6.7 2.0 virginica
## 124 6.3 2.7 4.9 1.8 virginica
## 125 6.7 3.3 5.7 2.1 virginica
## 126 7.2 3.2 6.0 1.8 virginica
## 127 6.2 2.8 4.8 1.8 virginica
## 128 6.1 3.0 4.9 1.8 virginica
## 129 6.4 2.8 5.6 2.1 virginica
## 130 7.2 3.0 5.8 1.6 virginica
## 131 7.4 2.8 6.1 1.9 virginica
## 132 7.9 3.8 6.4 2.0 virginica
## 133 6.4 2.8 5.6 2.2 virginica
## 134 6.3 2.8 5.1 1.5 virginica
## 135 6.1 2.6 5.6 1.4 virginica
## 136 7.7 3.0 6.1 2.3 virginica
## 137 6.3 3.4 5.6 2.4 virginica
## 138 6.4 3.1 5.5 1.8 virginica
## 139 6.0 3.0 4.8 1.8 virginica
## 140 6.9 3.1 5.4 2.1 virginica
## 141 6.7 3.1 5.6 2.4 virginica
## 142 6.9 3.1 5.1 2.3 virginica
## 143 5.8 2.7 5.1 1.9 virginica
## 144 6.8 3.2 5.9 2.3 virginica
## 145 6.7 3.3 5.7 2.5 virginica
## 146 6.7 3.0 5.2 2.3 virginica
## 147 6.3 2.5 5.0 1.9 virginica
## 148 6.5 3.0 5.2 2.0 virginica
## 149 6.2 3.4 5.4 2.3 virginica
## 150 5.9 3.0 5.1 1.8 virginica
La primera tarea que debes realizar cuando trabajas con una base de datos es indagar sobre su estructura y principales elementos. Nota que en la base de datos, tipo data frame, mtcars hay mucha información por tanto sería idóneo darle una rápida mirada para familiarizarme con los elementos almacenados.
Para lograrlo hay diversas funciones, en esta diapositiva nos concentraremos en dos. La función head() te permite observar las primeras 6 observaciones de tu data frame, la función tail() te muestra las últimas seis observaciones.
Ejemplo
Aplicando las funciones head() y tail() sobre la base de datos mtcars
head(mtcars)## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
tail(mtcars)## mpg cyl disp hp drat wt qsec vs am gear carb
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.7 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 2
Es muy probable que la función str() sea la más utilizada de todas la funciones en R. Esta te permite entender de forma eficiente cada uno de los componentes de tu objeto de almacenamiento.
Si utilizas la función str() sobre un objeto de tipo data frame, obtendrás la siguientes respuestas:
Ejemplo Utilizar la función str() sobre las base de datos: mtcars y iris.
str(mtcars)## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
str(iris)## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
La sensación de satisfacción que produce trabajar con data frames predeterminados no es la misma que cuando realizar análisis estadístico sobre tus propios data frame.
Para construir un data frame debes utilizar la función data.frame(), dentro de los parentesis se ingrasan cada una de las variables que deseo almacenar. Veamos como trabaja con el siguiente ejemplo
Ejemplo Supongamos que deseas construir un data frame que describa las principales características (variables) de ocho planetas de nuestro sistema solar, las cuales son:
Supongamos que ya realizaste una investigación exahustiva sobre las anteriores características y creas los siguientes vectores.
Nota: es conveniente dar un nombre a ese data frame, llamalo base_datos_planetas, imprimelo y luego aplicale la función str()
planetas <- c("Mercurio", "Venus", "Tierra", "Marte", "Jupiter", "Saturno",
"Urano", "Neptuno")
tipo <- c("Terrestre", "Terrestre", "Terrestre", "Terrestre", "Gigante de gas", "Gigante de gas", "Gigante de gas", "Gigante de gas")
diametro <- c(0.382, 0.949, 1, 0.532, 11.209, 9.449, 4.007, 3.883)
rotacion <- c(58.64, -243.02, 1, 1.03, 0.41, 0.43, -0.72, 0.67)
anillos <- c(FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE)
#Creo el data frame
base_datos_planetas <- data.frame(planetas, tipo, diametro, rotacion, anillos)
#Imprimo
base_datos_planetas## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
## 4 Marte Terrestre 0.532 1.03 FALSE
## 5 Jupiter Gigante de gas 11.209 0.41 TRUE
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
#Averiguo la estructura
str(base_datos_planetas)## 'data.frame': 8 obs. of 5 variables:
## $ planetas: Factor w/ 8 levels "Jupiter","Marte",..: 3 8 6 2 1 5 7 4
## $ tipo : Factor w/ 2 levels "Gigante de gas",..: 2 2 2 2 1 1 1 1
## $ diametro: num 0.382 0.949 1 0.532 11.209 ...
## $ rotacion: num 58.64 -243.02 1 1.03 0.41 ...
## $ anillos : logi FALSE FALSE FALSE FALSE TRUE TRUE ...
Al igual que en vectores y matrices, los corchertes [] se utilizan para seleccionar datos dentro de una data frame. Recorda que como los data frame son objetos de dos dimensiones, las comas se usan para indicar que se selecciona de las filas y de las columnas.
Ejemplo Supongamos que tenemos un data frame llamado mi_base_de_datos y queremos realizar las siguientes selecciones
Apliquemos estas técnicas de selección Suponga que estas trabajando con el siguiente data frame
base_datos_planetas## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
## 4 Marte Terrestre 0.532 1.03 FALSE
## 5 Jupiter Gigante de gas 11.209 0.41 TRUE
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
y te piden que sobre dicho data frame realices las siguientes actividades
base_datos_planetas## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
## 4 Marte Terrestre 0.532 1.03 FALSE
## 5 Jupiter Gigante de gas 11.209 0.41 TRUE
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
#Diametro jupiter
diam_jupiter <- base_datos_planetas[5, 3]
#Neptuno
Neptuno <- base_datos_planetas[8,]
Neptuno## planetas tipo diametro rotacion anillos
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
#Cercanos
cercanos <- base_datos_planetas[1:3,]
cercanos## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
#Lejanos
lejanos <- base_datos_planetas[6:8, ]
lejanos## planetas tipo diametro rotacion anillos
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
En un data frame también podemos seleccionar a partir del nombre de las variables (o columnas). Esta forma de seleccionar tiene es muy útil cuando el data frame tiene muchas variables.
Manos a la obra Supone que te piden que seleccionar el diametro de los ultimos cinco planetas del sistema solar, además dichos diametros almacenarlos en diametros e imprimir
base_datos_planetas## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
## 4 Marte Terrestre 0.532 1.03 FALSE
## 5 Jupiter Gigante de gas 11.209 0.41 TRUE
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
diametros <- base_datos_planetas[4:8, c("diametro")]
diametros## [1] 0.532 11.209 9.449 4.007 3.883
Supongamos que te piden seleccionar todos los elementos de la columna 4 (variable rotacion) del data frame base_datos_planetas.
base_datos_planetas## planetas tipo diametro rotacion anillos
## 1 Mercurio Terrestre 0.382 58.64 FALSE
## 2 Venus Terrestre 0.949 -243.02 FALSE
## 3 Tierra Terrestre 1.000 1.00 FALSE
## 4 Marte Terrestre 0.532 1.03 FALSE
## 5 Jupiter Gigante de gas 11.209 0.41 TRUE
## 6 Saturno Gigante de gas 9.449 0.43 TRUE
## 7 Urano Gigante de gas 4.007 -0.72 TRUE
## 8 Neptuno Gigante de gas 3.883 0.67 TRUE
#Forma númerica
base_datos_planetas[, 4]## [1] 58.64 -243.02 1.00 1.03 0.41 0.43 -0.72 0.67
#Con el nombre de la columna o variable
base_datos_planetas[, c("rotacion")]## [1] 58.64 -243.02 1.00 1.03 0.41 0.43 -0.72 0.67
#Con el signo pesos
base_datos_planetas$rotacion## [1] 58.64 -243.02 1.00 1.03 0.41 0.43 -0.72 0.67
R permite leer bases de datos que se encuentran almacenadas en distintas fuentes. Hoy aprenderemos una forma básica de subir al sistema una base de datos que se encuentra en un archivo excel.
Para poder hacerlo debes seguir con cuidado los siguientes tres pasos:
Primero, configurar el directorio de trabajo en la carpeta donde se encuentra el archivo Excel. Sigue la siguiente ruta: Session - Set Working directory - Choose Directory … - y eliges la carpeta donde esta el archivo
Segundo, tranformar el archivo excel a un archivo tipo csv (comma separated values).
Tercero, utilizar la función read.csv(). Dentro del parentesis colocas en comillas el nombre del archivo terminado con la palabra .csv. Luego le das un nombre a esa base de datos y ya estas listo para hacer magia.
Ejemplo Suponer que tienes una base de datos en un archivo Excel denominado costoproduccion2013 y la quieres subir a R. Luego le quieres poner el nombre de de bd_produccion y aplicarle la función str().
Solución
-Primero configurar el directorio de trabajo (en esta diapositiva encuentras los pasos para hacer configurar el directorio de trabajo)
-Segundo, asegurarse de que el archivo excel ha sido transformado a un archivo tipo csv
-Tercero, utilizar la función read.csv()
bd_produccion <- read.csv("costoproduccion2013.csv")
str(bd_produccion)