- les limitations et les inconvénients d’un document computationnel (notebook):
- les limitations et les inconvénients d’un document computationnel (notebook):
1. Lorsque le code est long, il devient difficile d’avoir une vue d’ensemble
1. Lorsque le code est long, il devient difficile d’avoir une vue d’ensemble
2. Les interactions entre différents langages peuvent être hasardeuses car elles sont peu explicites
2. Les interactions entre différents langages peuvent être hasardeuses car elles sont peu explicites
...
@@ -28,4 +28,96 @@
...
@@ -28,4 +28,96 @@
- les avantages d’un workflow ( pour eviter les limitation de notebook)
- les avantages d’un workflow ( pour eviter les limitation de notebook)
- plate-forme utiliser pour archiver et mettre à disposition un article de recherche : **HAL ou ArXiv**
- plate-forme utiliser pour archiver et mettre à disposition un article de recherche : **HAL ou ArXiv**
- plates-formes utiliser pour archiver et mettre à disposition des données: **Figshare et Zenodo**
- plates-formes utiliser pour archiver et mettre à disposition des données: **Figshare et Zenodo**
- plate-formes utiliser pour archiver et mettre à disposition du code: **Github ou Gitlab et Zenodo**
- plate-formes utiliser pour archiver et mettre à disposition du code: **Github ou Gitlab et Zenodo**
\ No newline at end of file
5. Paradoxe de sympson
-on n'importe les librairie nécessaire ``` %matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np'''
- on importe le data par son lien web en utilisant la librairie panda '''data= pd.read_csv("https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv?inline=false") '''
- prendre les valeurs de data''' data.values '''
- on rempli un tableu par le premier colonne de data sous forme d'une chaine de caractere de Yes or No ''' data.values[:,0]= str(data.values[:,0])'''
- on rempli un tableu par le deuxieme colonne de data sous forme d'une chaine de caractere de Alive or Dead '''data.values[:,1]=str(data.values[:,1])'''
- Apres on fait une bucle **for** sur le premier colonne si les femmes sont fumeurs **m=m+1** et si elle sont mort **c=c+1**puis une deuxieme boucle **for** sur le deuxieme colonne si les femmes sont non fumeurs **f=f+1** et si elles sont mort **n=n+1** et apres on calcule le rapport
'''c=0
m=0
for j in range(0,1314):
if 'Yes' in data.values[j,0]:
m=m+1
if 'Dead' in data.values[j,1]:
c=c+1 '''
'''
f=0
n=0
for j in range(0,1314):
if 'No' in data.values[j,0]:
f=f+1
if 'Dead' in data.values[j,1]:
n=n+1
(c/m)*100, (n/f)*100
'''
- Apres on decompose sur des intervale d'age pour les fummeurs et mort:
'''c=0
m=0
o=0
p=0
a=0
b=0
v=0
w=0
for j in range(0,1314):
if int(data.values[j,2])>=18 & int(data.values[j,2])<=34:
if 'Yes' in data.values[j,0]:
m=m+1
if 'Dead' in data.values[j,1]:
c=c+1
if int(data.values[j,2])>=35 & int(data.values[j,2])<=54:
if 'Yes' in data.values[j,0]:
o=o+1
if 'Dead' in data.values[j,1]:
p=p+1
if int(data.values[j,2])>=55 & int(data.values[j,2])<=64:
if 'Yes' in data.values[j,0]:
a=a+1
if 'Dead' in data.values[j,1]:
b=b+1
if int(data.values[j,2])>=65:
if 'Yes' in data.values[j,0]:
w=w+1
if 'Dead' in data.values[j,1]:
v=v+1'''
-apres on calcule les pourcentages pour chaque intervale d'age '''(c/m)*100,(p/o)*100,(b/a)*100,(v/w)*100'''
- Ensuite on decompose sur des intervale d'age pour les non fummeurs et mort:
'''c=0
m=0
o=0
p=0
a=0
b=0
v=0
w=0
for j in range(0,1314):
if int(data.values[j,2])>=18 & int(data.values[j,2])<=34:
if 'No' in data.values[j,0]:
m=m+1
if 'Dead' in data.values[j,1]:
c=c+1
if int(data.values[j,2])>=35 & int(data.values[j,2])<=54:
if 'No' in data.values[j,0]:
o=o+1
if 'Dead' in data.values[j,1]:
p=p+1
if int(data.values[j,2])>=55 & int(data.values[j,2])<=64:
if 'No' in data.values[j,0]:
a=a+1
if 'Dead' in data.values[j,1]:
b=b+1
if int(data.values[j,2])>=65:
if 'No' in data.values[j,0]:
w=w+1
if 'Dead' in data.values[j,1]:
v=v+1 '''
- le int(data) pour prendre le valeur de data ui est l'age
- apres on calcule les pourcentage ''' (c/m)*100,(p/o)*100,(b/a)*100,(v/w)*100'''