Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 232b6a86 authored by Laurence Viry's avatar Laurence Viry
Browse files

modif manipDon

parent 4f64f424
......@@ -19,18 +19,18 @@
"\n",
"## Importer des données\n",
"\n",
"Les données sont initialement collectées, éventuellement prétraitées par un logiciel. \n",
"Les données sont initialement collectées, syckées sous différents formats, éventuellement prétraitées par un logiciel ou extraites d'une base de données. \n",
"\n",
"Chaque logiciel ayant son propre format de stockage, le plus simple est souvent d'échanger les données par un format commun à tous, **le format texte** ( .csv par exemple).\n",
"Chaque logiciel ayant son propre format de stockage, le plus simple est souvent d'échanger les données par un format commun à tous qui sera le plus souvent **le format texte** ( .csv par exemple).\n",
"\n",
"On peut également utiliser **les formats propriétaires** des autres logiciels en utilisant un package adapté (le package foreign par exemple), le choix dépendant du contexte et du volume des données.\n",
"On peut également utiliser **les formats propriétaires** des autres logiciels en utilisant un package adapté (le package **foreign** par exemple), le choix dépendant du contexte et du volume des données.\n",
"\n",
"### Cas des fichiers **csv** \n",
"\n",
"Les avantages des fichiers **csv**:\n",
"\n",
" - Peut être lu par n'importe quel logiciel passé, présent et probablement futur,\n",
" - Pour la compatibilité entre plate-forme (Windows, Mac, Linux),\n",
" - Peut être lu par n'importe quel logiciel passé, présent et probablement futur.\n",
" - Pour la compatibilité entre plate-forme (Windows, Mac, Linux).\n",
" - Pour la facilité de lecture par un être humain comparativement à d'autres formats tels que XML, HL7, JSON etc.\n",
"\n",
"**Mais** pas forcément adapté aux gros volumes de données pour son volume de stockage et la rapidité de lecture.\n",
......@@ -47,37 +47,22 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"'/home/viryl/notebooks/CED-IntroR/notebooks'"
"'/home/viryl/notebooks/ATMO_IntroR/notebooks'"
],
"text/latex": [
"'/home/viryl/notebooks/CED-IntroR/notebooks'"
"'/home/viryl/notebooks/ATMO\\_IntroR/notebooks'"
],
"text/markdown": [
"'/home/viryl/notebooks/CED-IntroR/notebooks'"
"'/home/viryl/notebooks/ATMO_IntroR/notebooks'"
],
"text/plain": [
"[1] \"/home/viryl/notebooks/CED-IntroR/notebooks\""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
" taille poids pointure sexe \n",
" Min. :158.0 Min. :72.00 Min. :42.0 M:3 \n",
" 1st Qu.:166.8 1st Qu.:75.00 1st Qu.:42.5 \n",
" Median :175.5 Median :78.00 Median :43.0 \n",
" Mean :172.5 Mean :76.67 Mean :43.0 \n",
" 3rd Qu.:179.8 3rd Qu.:79.00 3rd Qu.:43.5 \n",
" Max. :184.0 Max. :80.00 Max. :44.0 "
"[1] \"/home/viryl/notebooks/ATMO_IntroR/notebooks\""
]
},
"metadata": {},
......@@ -100,14 +85,29 @@
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
" taille poids pointure sexe \n",
" Min. :158.0 Min. :72.00 Min. :42.0 M:3 \n",
" 1st Qu.:166.8 1st Qu.:75.00 1st Qu.:42.5 \n",
" Median :175.5 Median :78.00 Median :43.0 \n",
" Mean :172.5 Mean :76.67 Mean :43.0 \n",
" 3rd Qu.:179.8 3rd Qu.:79.00 3rd Qu.:43.5 \n",
" Max. :184.0 Max. :80.00 Max. :44.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Lecture du fichier donnees.csv\n",
"getwd() # repertoire de travail\n",
"don <- read.csv(file = \"data/donnees.csv\",header=TRUE,sep=\";\",dec=\",\",row.names=1)\n",
"summary(don)\n",
"class(don)"
"class(don)\n",
"summary(don)"
]
},
{
......@@ -116,7 +116,7 @@
"source": [
" - l'argument **sep** : indique que les valeurs sont séparées par **\";\"** (**\" \"** pour un espace, **\"\\t\"** pour une tabulation)\n",
" - l'argument **dep** : indique que le séparateur de décimal est **\",\"**\n",
" - l'argument **header**: indique si la première ligne contient les noms des variables (TRUE) ou non(FALSE).\n",
" - l'argument **header** : indique si la première ligne contient les noms des variables (TRUE) ou non(FALSE).\n",
" - l'argument **row.names** : indique que la colonne 1 n'est pas une variable mais l'identifiant des individus.\n",
" "
]
......@@ -132,16 +132,181 @@
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" taille poids pointure sexe \n",
" Min. :100.0 Min. :15 Min. :22.00 F :2 \n",
" 1st Qu.:110.0 1st Qu.:30 1st Qu.:30.50 M :3 \n",
" Median :160.0 Median :72 Median :40.00 NA's:1 \n",
" Mean :145.9 Mean :55 Mean :36.17 \n",
" 3rd Qu.:175.5 3rd Qu.:78 3rd Qu.:42.75 \n",
" Max. :184.0 Max. :80 Max. :44.00 \n",
" NA's :1 NA's :1 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"'list'"
],
"text/latex": [
"'list'"
],
"text/markdown": [
"'list'"
],
"text/plain": [
"[1] \"list\""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"'data.frame'"
],
"text/latex": [
"'data.frame'"
],
"text/markdown": [
"'data.frame'"
],
"text/plain": [
"[1] \"data.frame\""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<dl>\n",
"\t<dt>$names</dt>\n",
"\t\t<dd><ol class=list-inline>\n",
"\t<li>'taille'</li>\n",
"\t<li>'poids'</li>\n",
"\t<li>'pointure'</li>\n",
"\t<li>'sexe'</li>\n",
"</ol>\n",
"</dd>\n",
"\t<dt>$class</dt>\n",
"\t\t<dd>'data.frame'</dd>\n",
"\t<dt>$row.names</dt>\n",
"\t\t<dd><ol class=list-inline>\n",
"\t<li>'roger'</li>\n",
"\t<li>'theodule'</li>\n",
"\t<li>'nicolas'</li>\n",
"\t<li>'Alice'</li>\n",
"\t<li>'Marcel'</li>\n",
"\t<li>'Claire'</li>\n",
"</ol>\n",
"</dd>\n",
"</dl>\n"
],
"text/latex": [
"\\begin{description}\n",
"\\item[\\$names] \\begin{enumerate*}\n",
"\\item 'taille'\n",
"\\item 'poids'\n",
"\\item 'pointure'\n",
"\\item 'sexe'\n",
"\\end{enumerate*}\n",
"\n",
"\\item[\\$class] 'data.frame'\n",
"\\item[\\$row.names] \\begin{enumerate*}\n",
"\\item 'roger'\n",
"\\item 'theodule'\n",
"\\item 'nicolas'\n",
"\\item 'Alice'\n",
"\\item 'Marcel'\n",
"\\item 'Claire'\n",
"\\end{enumerate*}\n",
"\n",
"\\end{description}\n"
],
"text/markdown": [
"$names\n",
": 1. 'taille'\n",
"2. 'poids'\n",
"3. 'pointure'\n",
"4. 'sexe'\n",
"\n",
"\n",
"\n",
"$class\n",
": 'data.frame'\n",
"$row.names\n",
": 1. 'roger'\n",
"2. 'theodule'\n",
"3. 'nicolas'\n",
"4. 'Alice'\n",
"5. 'Marcel'\n",
"6. 'Claire'\n",
"\n",
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
"$names\n",
"[1] \"taille\" \"poids\" \"pointure\" \"sexe\" \n",
"\n",
"$class\n",
"[1] \"data.frame\"\n",
"\n",
"$row.names\n",
"[1] \"roger\" \"theodule\" \"nicolas\" \"Alice\" \"Marcel\" \"Claire\" \n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"[1] NA"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"55"
],
"text/latex": [
"55"
],
"text/markdown": [
"55"
],
"text/plain": [
"[1] 55"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"don2 <- read.csv(file = \"data/don2.csv\",header=TRUE,sep=\";\",dec=\",\",row.names=1,na.strings=\"***\")\n",
"summary(don2)\n",
"mode(don2)\n",
"class(don2)\n",
"attributes(don2)\n",
"mean(don2$poids)\n",
"mean(don2$poids,na.rm=TRUE)"
]
},
......@@ -154,21 +319,40 @@
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" SCORE TIME DECIMAL.TIME CLASS \n",
" Min. : 6.0 03:22:50:1 Min. :0.140 BEST :2 \n",
" 1st Qu.: 8.0 07:42:51:1 1st Qu.:0.320 INTERMEDIATE:1 \n",
" Median :13.0 09:30:03:1 Median :0.400 WORST :2 \n",
" Mean :12.4 12:01:03:1 Mean :0.372 \n",
" 3rd Qu.:16.0 12:01:29:1 3rd Qu.:0.500 \n",
" Max. :19.0 Max. :0.500 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"decath <- read.table(\"http://www.agrocampus-ouest.fr/math/livreR/decathlon.csv\",header=TRUE,sep=\";\",row.names=1)\n",
"summary(decath)"
"df <- read.table(\"https://s3.amazonaws.com/assets.datacamp.com/blog_assets/scores_timed.csv\",header=TRUE,row.names = 1,sep = \",\")\n",
"summary(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Fonctions utiles dans un data-frame\n",
"#### Fonctions utiles dans un data-frame\n",
"\n",
"* **head()** - pour voir les 6 premières lignes \n",
"* **tail()** - pour voir les 6 dernières lignes \n",
......@@ -177,8 +361,26 @@
"* **ncol()** - le nombre de colonnes \n",
"* **str()** - structure de chaque colonne\n",
"* **names()** - liste l'attribut **names** d'un data.frame (ou n'importe quel autre objet), les noms des colonnes\n",
"* **dimnanes()** - liste l'attribut **row.names** d'un data.frame.\n",
"\n",
"* **dimnanes()** - liste l'attribut **row.names** d'un data.frame."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"str(df)\n",
"names(df)\n",
"nrow(df)\n",
"ncol(df)\n",
"dimnames(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### La fonction **scan**\n",
"\n",
"La fonction **scan** est plus flexible que **read.table**.\n",
......@@ -188,7 +390,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 13,
"metadata": {
"collapsed": true
},
......@@ -226,6 +428,13 @@
"Pour en savoir plus **help(scan)**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cas des fichiers Excel"
]
},
{
"cell_type": "markdown",
"metadata": {},
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment