Commit b80c5178 authored by Laurence Farhi's avatar Laurence Farhi

Ajoute de notebooks utilisés dans les docs de Marie-Gabrielle

parent 4419b021
"","speed","dist"
"1",4,2
"2",4,10
"3",7,4
"4",7,22
"5",8,16
"6",9,10
"7",10,18
"8",10,26
"9",10,34
"10",11,17
"11",11,28
"12",12,14
"13",12,20
"14",12,24
"15",12,28
"16",13,26
"17",13,34
"18",13,34
"19",13,46
"20",14,26
"21",14,36
"22",14,60
"23",14,80
"24",15,20
"25",15,26
"26",15,54
"27",16,32
"28",16,40
"29",17,32
"30",17,40
"31",17,50
"32",18,42
"33",18,56
"34",18,76
"35",18,84
"36",19,36
"37",19,46
"38",19,68
"39",20,32
"40",20,48
"41",20,52
"42",20,56
"43",20,64
"44",22,66
"45",23,54
"46",24,70
"47",24,92
"48",24,93
"49",24,120
"50",25,85
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Notebook Python R\n",
"\n",
"## Import des données dans Python"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>speed</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 speed dist\n",
"0 1 4 2\n",
"1 2 4 10\n",
"2 3 7 4\n",
"3 4 7 22\n",
"4 5 8 16"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"# data_url = \"https://forge.scilab.org/index.php/p/rdataset/source/file/master/csv/datasets/cars.csv\"\n",
"data_url = \"cars.csv\"\n",
"df_python = pd.read_csv(data_url)\n",
"df_python.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Supression de la première colonne"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>speed</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>7</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" speed dist\n",
"0 4 2\n",
"1 4 10\n",
"2 7 4\n",
"3 7 22\n",
"4 8 16"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_python.drop(df_python.columns[[0]], axis=1, inplace=True)\n",
"df_python.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary avec Python"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>speed</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>50.000000</td>\n",
" <td>50.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>15.400000</td>\n",
" <td>42.980000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>5.287644</td>\n",
" <td>25.769377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>4.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>12.000000</td>\n",
" <td>26.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>15.000000</td>\n",
" <td>36.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>19.000000</td>\n",
" <td>56.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>25.000000</td>\n",
" <td>120.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" speed dist\n",
"count 50.000000 50.000000\n",
"mean 15.400000 42.980000\n",
"std 5.287644 25.769377\n",
"min 4.000000 2.000000\n",
"25% 12.000000 26.000000\n",
"50% 15.000000 36.000000\n",
"75% 19.000000 56.000000\n",
"max 25.000000 120.000000"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_python.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary avec R"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"from rpy2.robjects import pandas2ri\n",
"pandas2ri.activate()\n",
"from rpy2.robjects.packages import importr"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" speed dist \n",
"\r\n",
" Min. : 4.0 Min. : 2.00 \n",
"\r\n",
" 1st Qu.:12.0 1st Qu.: 26.00 \n",
"\r\n",
" Median :15.0 Median : 36.00 \n",
"\r\n",
" Mean :15.4 Mean : 42.98 \n",
"\r\n",
" 3rd Qu.:19.0 3rd Qu.: 56.00 \n",
"\r\n",
" Max. :25.0 Max. :120.00 \n",
"\n"
]
}
],
"source": [
"base = importr('base')\n",
"print(base.summary(df_python))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\r\n",
" Numeric \n",
"\r\n",
" mean median var sd valid.n\n",
"\r\n",
"speed 15.40 15 27.96 5.29 50\n",
"\r\n",
"dist 42.98 36 664.06 25.77 50\n",
"\n"
]
}
],
"source": [
"prettyR = importr('prettyR')\n",
"print(prettyR.describe(df_python))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Liens utiles\n",
"\n",
"- http://rpy.sourceforge.net/rpy2/doc-2.4/html/introduction.html\n",
"- https://rpy2.readthedocs.io/en/version_2.8.x/"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Notebook Python SAS\n",
"\n",
"## Import des données dans Python"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>speed</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 speed dist\n",
"0 1 4 2\n",
"1 2 4 10\n",
"2 3 7 4\n",
"3 4 7 22\n",
"4 5 8 16"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"# data_url = \"https://forge.scilab.org/index.php/p/rdataset/source/file/master/csv/datasets/cars.csv\"\n",
"data_url = \"cars.csv\"\n",
"df_python = pd.read_csv(data_url)\n",
"df_python.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Supression de la première colonne"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>speed</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>7</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" speed dist\n",
"0 4 2\n",
"1 4 10\n",
"2 7 4\n",
"3 7 22\n",
"4 8 16"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_python.drop(df_python.columns[[0]], axis=1, inplace=True)\n",
"df_python.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary avec Python"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>speed</th>\n",
" <td>50.0</td>\n",
" <td>15.40</td>\n",
" <td>5.287644</td>\n",
" <td>4.0</td>\n",
" <td>12.0</td>\n",
" <td>15.0</td>\n",
" <td>19.0</td>\n",
" <td>25.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>dist</th>\n",
" <td>50.0</td>\n",
" <td>42.98</td>\n",
" <td>25.769377</td>\n",
" <td>2.0</td>\n",
" <td>26.0</td>\n",
" <td>36.0</td>\n",
" <td>56.0</td>\n",
" <td>120.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 25% 50% 75% max\n",
"speed 50.0 15.40 5.287644 4.0 12.0 15.0 19.0 25.0\n",
"dist 50.0 42.98 25.769377 2.0 26.0 36.0 56.0 120.0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_python.describe().transpose()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary avec SAS"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SAS Connection established. Subprocess id is 4708\n",
"\n"
]
},
{
"data": {
"text/plain": [
"Libref = WORK\n",
"Table = _df\n",
"Dsopts = {}\n",
"Results = Pandas"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import saspy\n",
"session_sas = saspy.SASsession(cfgname='winlocal')\n",
"df_sas = session_sas.df2sd(df_python)\n",
"df_sas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- La fonction `df2sd()` produit un objet Python, ici `df_sas`, qui contient une table SAS nommée `_df`.\n",
"- `SASPy` fournit des objets Python de haut niveau pour les principales procédures SAS.\n",
"- Toutes les fonctions SAS sont exécutables à l'aide de la commande magique `%%SAS`.\n",
"- On applique les fonctions Python sur l'objet `df_sas` et les fonctions SAS sur l'objet `_df`."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Variable</th>\n",
" <th>N</th>\n",
" <th>NMiss</th>\n",
" <th>Median</th>\n",
" <th>Mean</th>\n",
" <th>StdDev</th>\n",
" <th>Min</th>\n",
" <th>P25</th>\n",
" <th>P50</th>\n",
" <th>P75</th>\n",
" <th>Max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>speed</td>\n",
" <td>50</td>\n",
" <td>0</td>\n",
" <td>15</td>\n",
" <td>15.40</td>\n",
" <td>5.287644</td>\n",
" <td>4</td>\n",
" <td>12</td>\n",
" <td>15</td>\n",
" <td>19</td>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>dist</td>\n",
" <td>50</td>\n",
" <td>0</td>\n",
" <td>36</td>\n",
" <td>42.98</td>\n",
" <td>25.769377</td>\n",
" <td>2</td>\n",
" <td>26</td>\n",
" <td>36</td>\n",
" <td>56</td>\n",
" <td>120</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Variable N NMiss Median Mean StdDev Min P25 P50 P75 Max\n",
"0 speed 50 0 15 15.40 5.287644 4 12 15 19 25\n",
"1 dist 50 0 36 42.98 25.769377 2 26 36 56 120"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sas.describe()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<!DOCTYPE html>\r\n",
"<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n",
"<head>\r\n",
"<meta charset=\"utf-8\"/>\r\n",
"<meta content=\"SAS 9.4\" name=\"generator\"/>\r\n",
"<title>Sortie SAS</title>\r\n",
"<style>\r\n",
"/*<![CDATA[*/\r\n",
".body.c section > table, .body.c section > pre, .body.c div > table,\r\n",
".body.c div > pre, .body.c article > table, .body.c article > pre,\r\n",
".body.j section > table, .body.j section > pre, .body.j div > table,\r\n",
".body.j div > pre, .body.j article > table, .body.j article > pre,\r\n",
".body.c p.note, .body.c p.warning, .body.c p.error, .body.c p.fatal,\r\n",
".body.j p.note, .body.j p.warning, .body.j p.error, .body.j p.fatal,\r\n",
".body.c > table.layoutcontainer, .body.j > table.layoutcontainer { margin-left: auto; margin-right: auto }\r\n",
".layoutregion.l table, .layoutregion.l pre, .layoutregion.l p.note,\r\n",
".layoutregion.l p.warning, .layoutregion.l p.error, .layoutregion.l p.fatal { margin-left: 0 }\r\n",
".layoutregion.c table, .layoutregion.c pre, .layoutregion.c p.note,\r\n",
".layoutregion.c p.warning, .layoutregion.c p.error, .layoutregion.c p.fatal { margin-left: auto; margin-right: auto }\r\n",
".layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\r\n",
".layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\r\n",
".layoutregion.r p.warning, .layoutregion.r p.error, .layoutregion.r p.fatal { margin-right: 0 }\r\n",
"article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block }\r\n",
"html{ font-size: 100% }\r\n",
".body { margin: 1em; font-size: 13px; line-height: 1.231 }\r\n",
"sup { position: relative; vertical-align: baseline; bottom: 0.25em; font-size: 0.8em }\r\n",
"sub { position: relative; vertical-align: baseline; top: 0.25em; font-size: 0.8em }\r\n",
"ul, ol { margin: 1em 0; padding: 0 0 0 40px }\r\n",
"dd { margin: 0 0 0 40px }\r\n",
"nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 }\r\n",
"img { border: 0; vertical-align: middle }\r\n",
"svg:not(:root) { overflow: hidden }\r\n",
"figure { margin: 0 }\r\n",
"table { border-collapse: collapse; border-spacing: 0 }\r\n",
".layoutcontainer { border-collapse: separate; border-spacing: 0 }\r\n",
"p { margin-top: 0; text-align: left }\r\n",
"span { text-align: left }\r\n",
"table { margin-bottom: 1em }\r\n",
"td, th { text-align: left; padding: 3px 6px; vertical-align: top }\r\n",
"td[class$=\"fixed\"], th[class$=\"fixed\"] { white-space: pre }\r\n",
"section, article { padding-top: 1px; padding-bottom: 8px }\r\n",
"hr.pagebreak { height: 0px; border: 0; border-bottom: 1px solid #c0c0c0; margin: 1em 0 }\r\n",
".stacked-value { text-align: left; display: block }\r\n",
".stacked-cell > .stacked-value, td.data > td.data, th.data > td.data, th.data > th.data, td.data > th.data, th.header > th.header { border: 0 }\r\n",
".stacked-cell > div.data { border-width: 0 }\r\n",
".systitleandfootercontainer { white-space: nowrap; margin-bottom: 1em }\r\n",
".systitleandfootercontainer > p { margin: 0 }\r\n",
".systitleandfootercontainer > p > span { display: inline-block; width: 100%; white-space: normal }\r\n",
".batch { display: table }\r\n",
".toc { display: none }\r\n",
".proc_note_group, .proc_title_group { margin-bottom: 1em }\r\n",
"p.proctitle { margin: 0 }\r\n",
"p.note, p.warning, p.error, p.fatal { display: table }\r\n",
".notebanner, .warnbanner, .errorbanner, .fatalbanner,\r\n",
".notecontent, .warncontent, .errorcontent, .fatalcontent { display: table-cell; padding: 0.5em }\r\n",
".notebanner, .warnbanner, .errorbanner, .fatalbanner { padding-right: 0 }\r\n",
".body > div > ol li { text-align: left }\r\n",
".c { text-align: center }\r\n",
".r { text-align: right }\r\n",
".l { text-align: left }\r\n",
".j { text-align: justify }\r\n",
".d { text-align: right }\r\n",
".b { vertical-align: bottom }\r\n",
".m { vertical-align: middle }\r\n",
".t { vertical-align: top }\r\n",
".aftercaption {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
" padding-top: 4pt;\r\n",
"}\r\n",
".batch > colgroup {\r\n",
" border-left: 1px solid #c1c1c1;\r\n",
" border-right: 1px solid #c1c1c1;\r\n",
"}\r\n",
".batch > tbody, .batch > thead, .batch > tfoot {\r\n",
" border-top: 1px solid #c1c1c1;\r\n",
" border-bottom: 1px solid #c1c1c1;\r\n",
"}\r\n",
".batch { border: hidden; }\r\n",
".batch {\r\n",
" background-color: #fafbfe;\r\n",
" border: 1px solid #c1c1c1;\r\n",
" border-collapse: separate;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: 'SAS Monospace', 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" padding: 7px;\r\n",
" }\r\n",
".beforecaption {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".body {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" margin-left: 8px;\r\n",
" margin-right: 8px;\r\n",
"}\r\n",
".bodydate {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" text-align: right;\r\n",
" vertical-align: top;\r\n",
" width: 100%;\r\n",
"}\r\n",
".bycontentfolder {\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: none;\r\n",
" margin-left: 6pt;\r\n",
"}\r\n",
".byline {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".bylinecontainer > col, .bylinecontainer > colgroup > col, .bylinecontainer > colgroup, .bylinecontainer > tr, .bylinecontainer > * > tr, .bylinecontainer > thead, .bylinecontainer > tbody, .bylinecontainer > tfoot { border: none; }\r\n",
".bylinecontainer {\r\n",
" background-color: #fafbfe;\r\n",
" border: none;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".caption {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".cell, .container {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".contentfolder, .contentitem {\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: none;\r\n",
" margin-left: 6pt;\r\n",
"}\r\n",
".contentproclabel, .contentprocname {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".contents {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: decimal;\r\n",
" margin-left: 8px;\r\n",
" margin-right: 8px;\r\n",
"}\r\n",
".contentsdate {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".contenttitle {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".continued {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
" width: 100%;\r\n",
"}\r\n",
".data, .dataemphasis {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".dataemphasisfixed {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".dataempty {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".datafixed {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".datastrong {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".datastrongfixed {\r\n",
" background-color: #ffffff;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".date {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".document {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".errorbanner {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".errorcontent {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".errorcontentfixed {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".extendedpage {\r\n",
" background-color: #fafbfe;\r\n",
" border-style: solid;\r\n",
" border-width: 1pt;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
" text-align: center;\r\n",
"}\r\n",
".fatalbanner {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".fatalcontent {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".fatalcontentfixed {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".folderaction {\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: none;\r\n",
" margin-left: 6pt;\r\n",
"}\r\n",
".footer {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".footeremphasis {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".footeremphasisfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".footerempty {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".footerfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".footerstrong {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".footerstrongfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".frame {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".graph > colgroup {\r\n",
" border-left: 1px solid #c1c1c1;\r\n",
" border-right: 1px solid #c1c1c1;\r\n",
"}\r\n",
".graph > tbody, .graph > thead, .graph > tfoot {\r\n",
" border-top: 1px solid #c1c1c1;\r\n",
" border-bottom: 1px solid #c1c1c1;\r\n",
"}\r\n",
".graph { border: hidden; }\r\n",
".graph {\r\n",
" background-color: #fafbfe;\r\n",
" border: 1px solid #c1c1c1;\r\n",
" border-collapse: separate;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" }\r\n",
".header {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".headeremphasis {\r\n",
" background-color: #d8dbd3;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".headeremphasisfixed {\r\n",
" background-color: #d8dbd3;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".headerempty {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".headerfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".headersandfooters {\r\n",
" background-color: #edf2f9;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".headerstrong {\r\n",
" background-color: #d8dbd3;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".headerstrongfixed {\r\n",
" background-color: #d8dbd3;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #000000;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".index {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".indexaction, .indexitem {\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: none;\r\n",
" margin-left: 6pt;\r\n",
"}\r\n",
".indexprocname {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".indextitle {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".layoutcontainer, .layoutregion {\r\n",
" border-width: 0;\r\n",
" border-spacing: 30px;\r\n",
"}\r\n",
".linecontent {\r\n",
" background-color: #fafbfe;\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".list {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: disc;\r\n",
"}\r\n",
".list10 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: square;\r\n",
"}\r\n",
".list2 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: circle;\r\n",
"}\r\n",
".list3, .list4, .list5, .list6, .list7, .list8, .list9 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: square;\r\n",
"}\r\n",
".listitem {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: disc;\r\n",
"}\r\n",
".listitem10 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: square;\r\n",
"}\r\n",
".listitem2 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: circle;\r\n",
"}\r\n",
".listitem3, .listitem4, .listitem5, .listitem6, .listitem7, .listitem8, .listitem9 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: square;\r\n",
"}\r\n",
".note {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".notebanner {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".notecontent {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".notecontentfixed {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".output > colgroup {\r\n",
" border-left: 1px solid #c1c1c1;\r\n",
" border-right: 1px solid #c1c1c1;\r\n",
"}\r\n",
".output > tbody, .output > thead, .output > tfoot {\r\n",
" border-top: 1px solid #c1c1c1;\r\n",
" border-bottom: 1px solid #c1c1c1;\r\n",
"}\r\n",
".output { border: hidden; }\r\n",
".output {\r\n",
" background-color: #fafbfe;\r\n",
" border: 1px solid #c1c1c1;\r\n",
" border-collapse: separate;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" }\r\n",
".pageno {\r\n",
" background-color: #fafbfe;\r\n",
" border-spacing: 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
" text-align: right;\r\n",
" vertical-align: top;\r\n",
"}\r\n",
".pages {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: decimal;\r\n",
" margin-left: 8px;\r\n",
" margin-right: 8px;\r\n",
"}\r\n",
".pagesdate {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".pagesitem {\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" list-style-type: none;\r\n",
" margin-left: 6pt;\r\n",
"}\r\n",
".pagesproclabel, .pagesprocname {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".pagestitle {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".paragraph {\r\n",
" background-color: #fafbfe;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".parskip > col, .parskip > colgroup > col, .parskip > colgroup, .parskip > tr, .parskip > * > tr, .parskip > thead, .parskip > tbody, .parskip > tfoot { border: none; }\r\n",
".parskip {\r\n",
" border: none;\r\n",
" border-spacing: 0;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
" }\r\n",
".prepage {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" text-align: left;\r\n",
"}\r\n",
".proctitle {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".proctitlefixed {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowfooter {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowfooteremphasis {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowfooteremphasisfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowfooterempty {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowfooterfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowfooterstrong {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowfooterstrongfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowheader {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowheaderemphasis {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowheaderemphasisfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: italic;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowheaderempty {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowheaderfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".rowheaderstrong {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".rowheaderstrongfixed {\r\n",
" background-color: #edf2f9;\r\n",
" border-color: #b0b7bb;\r\n",
" border-style: solid;\r\n",
" border-width: 0 1px 1px 0;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier, monospace;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".systemfooter, .systemfooter10, .systemfooter2, .systemfooter3, .systemfooter4, .systemfooter5, .systemfooter6, .systemfooter7, .systemfooter8, .systemfooter9 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".systemtitle, .systemtitle10, .systemtitle2, .systemtitle3, .systemtitle4, .systemtitle5, .systemtitle6, .systemtitle7, .systemtitle8, .systemtitle9 {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: small;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".systitleandfootercontainer > col, .systitleandfootercontainer > colgroup > col, .systitleandfootercontainer > colgroup, .systitleandfootercontainer > tr, .systitleandfootercontainer > * > tr, .systitleandfootercontainer > thead, .systitleandfootercontainer > tbody, .systitleandfootercontainer > tfoot { border: none; }\r\n",
".systitleandfootercontainer {\r\n",
" background-color: #fafbfe;\r\n",
" border: none;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".table > col, .table > colgroup > col {\r\n",
" border-left: 1px solid #c1c1c1;\r\n",
" border-right: 0 solid #c1c1c1;\r\n",
"}\r\n",
".table > tr, .table > * > tr {\r\n",
" border-top: 1px solid #c1c1c1;\r\n",
" border-bottom: 0 solid #c1c1c1;\r\n",
"}\r\n",
".table { border: hidden; }\r\n",
".table {\r\n",
" border-color: #c1c1c1;\r\n",
" border-style: solid;\r\n",
" border-width: 1px 0 0 1px;\r\n",
" border-collapse: collapse;\r\n",
" border-spacing: 0;\r\n",
" }\r\n",
".titleandnotecontainer > col, .titleandnotecontainer > colgroup > col, .titleandnotecontainer > colgroup, .titleandnotecontainer > tr, .titleandnotecontainer > * > tr, .titleandnotecontainer > thead, .titleandnotecontainer > tbody, .titleandnotecontainer > tfoot { border: none; }\r\n",
".titleandnotecontainer {\r\n",
" background-color: #fafbfe;\r\n",
" border: none;\r\n",
" border-spacing: 1px;\r\n",
" color: #000000;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
" width: 100%;\r\n",
"}\r\n",
".titlesandfooters {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".usertext {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".warnbanner {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: bold;\r\n",
"}\r\n",
".warncontent {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: Arial, 'Albany AMT', Helvetica, Helv;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
".warncontentfixed {\r\n",
" background-color: #fafbfe;\r\n",
" color: #112277;\r\n",
" font-family: 'Courier New', Courier;\r\n",
" font-size: normal;\r\n",
" font-style: normal;\r\n",
" font-weight: normal;\r\n",
"}\r\n",
"/*]]>*/\r\n",
"</style>\r\n",
"</head>\r\n",
"<body class=\"l body\">\r\n",
"<h1 class=\"body toc\">Sortie SAS</h1>\r\n",
"<section data-name=\"Means\" data-sec-type=\"proc\">\r\n",
"<h1 class=\"contentprocname toc\">La MEANS Procédure</h1>\r\n",
"<article id=\"IDX\">\r\n",
"<h1 class=\"contentitem toc\">Statistiques descriptives</h1>\r\n",
"<table class=\"table\" style=\"border-spacing: 0\">\r\n",
"<colgroup><col/></colgroup><colgroup><col/><col/><col/><col/><col/></colgroup>\r\n",
"<thead>\r\n",
"<tr>\r\n",
"<th class=\"b header\" scope=\"col\">Variable</th>\r\n",
"<th class=\"r b header\" scope=\"col\">N</th>\r\n",
"<th class=\"r b header\" scope=\"col\">Moyenne</th>\r\n",
"<th class=\"r b header\" scope=\"col\">Ecart-type</th>\r\n",
"<th class=\"r b header\" scope=\"col\">Minimum</th>\r\n",
"<th class=\"r b header\" scope=\"col\">Maximum</th>\r\n",
"</tr>\r\n",
"</thead>\r\n",
"<tbody>\r\n",
"<tr>\r\n",
"<th class=\"data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>speed</div>\r\n",
"<div>dist</div>\r\n",
"</div>\r\n",
"</th>\r\n",
"<td class=\"r data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>50</div>\r\n",
"<div>50</div>\r\n",
"</div>\r\n",
"</td>\r\n",
"<td class=\"r data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>15.40</div>\r\n",
"<div>42.98</div>\r\n",
"</div>\r\n",
"</td>\r\n",
"<td class=\"r data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>5.29</div>\r\n",
"<div>25.77</div>\r\n",
"</div>\r\n",
"</td>\r\n",
"<td class=\"r data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>4.00</div>\r\n",
"<div>2.00</div>\r\n",
"</div>\r\n",
"</td>\r\n",
"<td class=\"r data\">\r\n",
"<div class=\"stacked-cell\">\r\n",
"<div>25.00</div>\r\n",
"<div>120.00</div>\r\n",
"</div>\r\n",
"</td>\r\n",
"</tr>\r\n",
"</tbody>\r\n",
"</table>\r\n",
"</article>\r\n",
"</section>\r\n",
"</body>\r\n",
"</html>\r\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%SAS session_sas\n",
"ods title;\n",
"ods noproctitle;\n",
"proc means data=_df maxdec=2;\n",
"run;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Liens utiles\n",
"\n",
"**Code SAS dans notebook Jupyter :**\n",
"\n",
"- https://blogs.sas.com/content/sasdummy/2016/04/24/how-to-run-sas-programs-in-jupyter-notebook/\n",
"- https://blogs.sas.com/content/sasdummy/2017/04/08/python-to-sas-saspy/\n",
"- https://sassoftware.github.io/saspy/\n",
"\n",
"**Export vers pdf :**\n",
"\n",
"- https://github.com/sassoftware/sas_kernel/issues/13\n",
"- https://stackoverflow.com/questions/43965823/convert-notebook-generated-html-snippet-to-latex-and-pdf\n",
"- https://github.com/jupyter/nbconvert/issues/474\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
\ No newline at end of file
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Notebook R"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
" speed dist \n",
" Min. : 4.0 Min. : 2.00 \n",
" 1st Qu.:12.0 1st Qu.: 26.00 \n",
" Median :15.0 Median : 36.00 \n",
" Mean :15.4 Mean : 42.98 \n",
" 3rd Qu.:19.0 3rd Qu.: 56.00 \n",
" Max. :25.0 Max. :120.00 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"summary(cars)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nGMU0FVKti2PVToxiWgqp4u2aaidGIW2FBJUSEgQICQKEBAFCggAhQYCQIEBIECAkCBASBAgJ\nAoQEAUKCACFBgJAgQEgQICQIEBIECAkChAQBQvoc0/cv4XZCeh/Rd9TiHkI6H1FI3EhI3wZU\nErcR0rcBhcRthPRtQCFxGyGdj6gjbiSk9xGt2nEPIX2OKSNuJyQIaCskzxpUqqWQXMdQraZC\nKjU8/FZDIdnroV5CggAhQUBDIblGol5NhWTVjlq1FJJ9JKrVVkhQqaIhvTyuuqPV+mWoIWAU\nBUPaL7ovy0GGgJEUDGnd9c/b06Pdpu/WQwwBIykYUt9tPx9vu36IIWAkBUP6tuL29/Jbd+7G\nIWAknpEgoOw10mZ3euQaiakpufy9PHvtttgPMgSMo+w+0vq0j9SvHu0jMS3ubIAAIUGAkCBA\nSBAgJAgQEgQICQKEBAGVhgSNueGrPB9OSq1Tq3Ve1U5sFvOq9YM81Du1WudV7cRmMa9aP8hD\nvVOrdV7VTmwW86r1gzzUO7Va51XtxGYxr1o/yEO9U6t1XtVObBbzqvWDPNQ7tVrnVe3EZjGv\nWj/IQ71Tq3Ve1U5sFvOq9YM81Du1WudV7cRmMa9aP8hDvVOrdV7VTmwW86r1gzzUO7Va51Xt\nxGYxr1o/yEO9U6t1XtVObBbzqvWDPNQ7tVrnVe3EZjGvWj9IaIqQIEBIECAkCBASBAgJAoQE\nAUKCACFBgJAgQEgQICQIEBIECAkChAQBQoKASkO6+XuZD+rpY0LrvuvX+1Hn8s3HxOo6bU+L\nz7NU1Qn7mlfwfNVy0r/b1vUV8W77MaHlaXKLcWdz5mNidZ229Wku/fErtqoT9jWv5Pmq5KT/\nYdutxp7C37b9+yl/6frt8XcvI0/ow+fEqjpt2+5hf3yufKjshJ3NK3m+6gzpqXscewp/eeqW\n71+v627z+utzLXP8mlhVp231Nqfj1Ko6YWfzSp6vWkN6GnsKf+nWh/ev11W3O1T0z//XxKo8\nbV11J+zkLaTc+aozpFW3eXi9IBx7Gt9sDx9fr9//M7qviVV42vbdsroTdnSaV/J8VfSxnVm9\nXQQux57HH+oM6XAWUnWn7en4qq6+E/Y2r+T5quhjO9N1z6//aKxre6VSe0j1nbZdf3w5V98J\n+5hX7nzV87H9bV/LgumH2kN6U9Fp2/enf+2rO2Hv83r/TeR8VfOx/Us9Z/7N+3z62r4u/phK\nPRNbvn2JVnfClt/Sicyrmo/tX+o582++rdrtKlqEqjOk3WK5Oz2o7IR9zuvdhEPqu+N+eDVn\n/sP7GX88bYtsunqWxz6fKms6bZvPq/i6TtjXvJLnq86Q1sdzvn/bx6tIpXc2fE6sqtO2+1oN\nq+qEnc0reb7qDGnfn9Yl6/gX7MvHa4BFbavM7xOr6rQ9dF93stV0ws7mlTxfdYb0+s9E3y3q\nWcV99xHS/nQz87hz+eZ8YrWctu4spJpO2J/zCp2vSkOCtggJAoQEAUKCACFBgJAgQEgQICQI\nEBIECAkChAQBQoIAIUGAkCBASBAgJAgQEgQICQKEBAFCggAhQYCQIEBIECAkCBASBAgJAoQE\nAUKCACFBgJAgQEgQICQIEBIECGl6avmp5rPinE+PkEbgnE+PkEbgnE+PkEbgnFdvs+y65eZw\nCmT9+cPBnxZd//TXw3XfrYU0Bue8dk9vP8z+6RjS4/HR8vh/V92/Hi6Pj1ZCGoFzXru+2x4O\nz93iGFK/PWz77vn1Wapb7g/7Zbf59vD5/Q/4pJbnnNeuOyZy9mjTrY7PQvvXh/u/Hr6c/oBP\nannOee3Wry/Wttvjo/dAjv/pPvzx8HD25yjJOa/e4+trta7fCalqznkDNuvF2zXS6XdnyXz8\n9vtDIY3AOW/DWz1vl0APx6uhjwunvx++CGkEznntFsdVum+rdh/rc4en4wrD2cONVbvROOe1\ne367Ano5hvS2T3T8v6dHpyun84enLaUHIY3AOa/e6c6G44u610BW3eLrdobuYffnw0d3NozE\nOW+HQCrmc9MOIVXM56YdQqqYz007hFQxnxsIEBIECAkChAQBQoIAIUGAkCBASBAgJAgQEgQI\nCQKEBAFCggAhQYCQIEBIECAkCBASBAgJAoQEAUKCACFBgJAgQEgQICQIEBIECAkC/gNzeDUu\n0A6vdAAAAABJRU5ErkJggg==",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot(cars)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<h3>Hello</h3>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.display import display, HTML\n",
"display(HTML('<h3>Hello</h3>'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Liens utiles :\n",
"\n",
"- https://stackoverflow.com/questions/43965823/convert-notebook-generated-html-snippet-to-latex-and-pdf\n",
"- https://github.com/jupyter/nbconvert/issues/474"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
SASmarkdown notebook
====================
Reference manual
================
[SASmarkdown.pdf](https://cran.r-project.org/web/packages/SASmarkdown/SASmarkdown.pdf)
Configuration
=============
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
require(SASmarkdown)
saspath <- "C:/Program Files/SASHome/SASFoundation/9.4/sas.exe"
sasopts <- "-nosplash -ls 75"
knitr::opts_chunk$set(engine='sas', engine.path=saspath,
engine.opts=sasopts, comment="")
```
Listing output
==============
```{r, engine='sas', collectcode=TRUE, error=FALSE}
proc means data=sashelp.class;
run;
ods listing gpath='D:\figures';
ods graphics / imagename="fig" imagefmt=png;
title 'Student Weight by Student Height';
proc sgplot data=sashelp.class noautolegend;
pbspline y=weight x=height;
run;
```
Procédure MEANS
Variable N Moyenne Ecart-type Minimum Maximum
-------------------------------------------------------------------------
Age 19 13.3157895 1.4926722 11.0000000 16.0000000
Height 19 62.3368421 5.1270752 51.3000000 72.0000000
Weight 19 100.0263158 22.7739335 50.5000000 150.0000000
-------------------------------------------------------------------------
`![figure](D:\figures\fig.png)`
![figure](images/fig.png)
HTML output (vue du fichier pdf)
===========
```{r, engine='sashtml', collectcode=TRUE, error=FALSE}
proc means data=sashelp.class;
run;
```
Tableau mal converti en pdf
Variable
N
Moyenne
Ecart-type
Minimum
Maximum
Age
Height
Weight
19
19
19
13.3157895
62.3368421
100.0263158
1.4926722
5.1270752
22.7739335
11.0000000
51.3000000
50.5000000
16.0000000
72.0000000
150.0000000
```{r, engine='sashtml', echo=FALSE, collectcode=TRUE, error=FALSE}
title 'Student Weight by Student Height';
proc sgplot data=sashelp.class noautolegend;
pbspline y=weight x=height;
run;
```
Pas de sortie graphique dans le fichier pdf.
\ No newline at end of file
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