Add new data file datafreMPTL.RData for analysis in Data Visualisation project

This commit is contained in:
2025-10-20 17:43:04 +02:00
parent 4efbee7ce4
commit e1255f326d
6 changed files with 14168 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,304 @@
age,sex,cp,trestbps,chol,fbs,restecg,thalach,exang,oldpeak,slope,ca,thal,target
63,1,3,145,233,1,0,150,0,2.3,0,0,1,1
37,1,2,130,250,0,1,187,0,3.5,0,0,2,1
41,0,1,130,204,0,0,172,0,1.4,2,0,2,1
56,1,1,120,236,0,1,178,0,0.8,2,0,2,1
57,0,0,120,354,0,1,163,1,0.6,2,0,2,1
57,1,0,140,192,0,1,148,0,0.4,1,0,1,1
56,0,1,140,294,0,0,153,0,1.3,1,0,2,1
44,1,1,120,263,0,1,173,0,0,2,0,3,1
52,1,2,172,199,1,1,162,0,0.5,2,0,3,1
57,1,2,150,168,0,1,174,0,1.6,2,0,2,1
54,1,0,140,239,0,1,160,0,1.2,2,0,2,1
48,0,2,130,275,0,1,139,0,0.2,2,0,2,1
49,1,1,130,266,0,1,171,0,0.6,2,0,2,1
64,1,3,110,211,0,0,144,1,1.8,1,0,2,1
58,0,3,150,283,1,0,162,0,1,2,0,2,1
50,0,2,120,219,0,1,158,0,1.6,1,0,2,1
58,0,2,120,340,0,1,172,0,0,2,0,2,1
66,0,3,150,226,0,1,114,0,2.6,0,0,2,1
43,1,0,150,247,0,1,171,0,1.5,2,0,2,1
69,0,3,140,239,0,1,151,0,1.8,2,2,2,1
59,1,0,135,234,0,1,161,0,0.5,1,0,3,1
44,1,2,130,233,0,1,179,1,0.4,2,0,2,1
42,1,0,140,226,0,1,178,0,0,2,0,2,1
61,1,2,150,243,1,1,137,1,1,1,0,2,1
40,1,3,140,199,0,1,178,1,1.4,2,0,3,1
71,0,1,160,302,0,1,162,0,0.4,2,2,2,1
59,1,2,150,212,1,1,157,0,1.6,2,0,2,1
51,1,2,110,175,0,1,123,0,0.6,2,0,2,1
65,0,2,140,417,1,0,157,0,0.8,2,1,2,1
53,1,2,130,197,1,0,152,0,1.2,0,0,2,1
41,0,1,105,198,0,1,168,0,0,2,1,2,1
65,1,0,120,177,0,1,140,0,0.4,2,0,3,1
44,1,1,130,219,0,0,188,0,0,2,0,2,1
54,1,2,125,273,0,0,152,0,0.5,0,1,2,1
51,1,3,125,213,0,0,125,1,1.4,2,1,2,1
46,0,2,142,177,0,0,160,1,1.4,0,0,2,1
54,0,2,135,304,1,1,170,0,0,2,0,2,1
54,1,2,150,232,0,0,165,0,1.6,2,0,3,1
65,0,2,155,269,0,1,148,0,0.8,2,0,2,1
65,0,2,160,360,0,0,151,0,0.8,2,0,2,1
51,0,2,140,308,0,0,142,0,1.5,2,1,2,1
48,1,1,130,245,0,0,180,0,0.2,1,0,2,1
45,1,0,104,208,0,0,148,1,3,1,0,2,1
53,0,0,130,264,0,0,143,0,0.4,1,0,2,1
39,1,2,140,321,0,0,182,0,0,2,0,2,1
52,1,1,120,325,0,1,172,0,0.2,2,0,2,1
44,1,2,140,235,0,0,180,0,0,2,0,2,1
47,1,2,138,257,0,0,156,0,0,2,0,2,1
53,0,2,128,216,0,0,115,0,0,2,0,0,1
53,0,0,138,234,0,0,160,0,0,2,0,2,1
51,0,2,130,256,0,0,149,0,0.5,2,0,2,1
66,1,0,120,302,0,0,151,0,0.4,1,0,2,1
62,1,2,130,231,0,1,146,0,1.8,1,3,3,1
44,0,2,108,141,0,1,175,0,0.6,1,0,2,1
63,0,2,135,252,0,0,172,0,0,2,0,2,1
52,1,1,134,201,0,1,158,0,0.8,2,1,2,1
48,1,0,122,222,0,0,186,0,0,2,0,2,1
45,1,0,115,260,0,0,185,0,0,2,0,2,1
34,1,3,118,182,0,0,174,0,0,2,0,2,1
57,0,0,128,303,0,0,159,0,0,2,1,2,1
71,0,2,110,265,1,0,130,0,0,2,1,2,1
54,1,1,108,309,0,1,156,0,0,2,0,3,1
52,1,3,118,186,0,0,190,0,0,1,0,1,1
41,1,1,135,203,0,1,132,0,0,1,0,1,1
58,1,2,140,211,1,0,165,0,0,2,0,2,1
35,0,0,138,183,0,1,182,0,1.4,2,0,2,1
51,1,2,100,222,0,1,143,1,1.2,1,0,2,1
45,0,1,130,234,0,0,175,0,0.6,1,0,2,1
44,1,1,120,220,0,1,170,0,0,2,0,2,1
62,0,0,124,209,0,1,163,0,0,2,0,2,1
54,1,2,120,258,0,0,147,0,0.4,1,0,3,1
51,1,2,94,227,0,1,154,1,0,2,1,3,1
29,1,1,130,204,0,0,202,0,0,2,0,2,1
51,1,0,140,261,0,0,186,1,0,2,0,2,1
43,0,2,122,213,0,1,165,0,0.2,1,0,2,1
55,0,1,135,250,0,0,161,0,1.4,1,0,2,1
51,1,2,125,245,1,0,166,0,2.4,1,0,2,1
59,1,1,140,221,0,1,164,1,0,2,0,2,1
52,1,1,128,205,1,1,184,0,0,2,0,2,1
58,1,2,105,240,0,0,154,1,0.6,1,0,3,1
41,1,2,112,250,0,1,179,0,0,2,0,2,1
45,1,1,128,308,0,0,170,0,0,2,0,2,1
60,0,2,102,318,0,1,160,0,0,2,1,2,1
52,1,3,152,298,1,1,178,0,1.2,1,0,3,1
42,0,0,102,265,0,0,122,0,0.6,1,0,2,1
67,0,2,115,564,0,0,160,0,1.6,1,0,3,1
68,1,2,118,277,0,1,151,0,1,2,1,3,1
46,1,1,101,197,1,1,156,0,0,2,0,3,1
54,0,2,110,214,0,1,158,0,1.6,1,0,2,1
58,0,0,100,248,0,0,122,0,1,1,0,2,1
48,1,2,124,255,1,1,175,0,0,2,2,2,1
57,1,0,132,207,0,1,168,1,0,2,0,3,1
52,1,2,138,223,0,1,169,0,0,2,4,2,1
54,0,1,132,288,1,0,159,1,0,2,1,2,1
45,0,1,112,160,0,1,138,0,0,1,0,2,1
53,1,0,142,226,0,0,111,1,0,2,0,3,1
62,0,0,140,394,0,0,157,0,1.2,1,0,2,1
52,1,0,108,233,1,1,147,0,0.1,2,3,3,1
43,1,2,130,315,0,1,162,0,1.9,2,1,2,1
53,1,2,130,246,1,0,173,0,0,2,3,2,1
42,1,3,148,244,0,0,178,0,0.8,2,2,2,1
59,1,3,178,270,0,0,145,0,4.2,0,0,3,1
63,0,1,140,195,0,1,179,0,0,2,2,2,1
42,1,2,120,240,1,1,194,0,0.8,0,0,3,1
50,1,2,129,196,0,1,163,0,0,2,0,2,1
68,0,2,120,211,0,0,115,0,1.5,1,0,2,1
69,1,3,160,234,1,0,131,0,0.1,1,1,2,1
45,0,0,138,236,0,0,152,1,0.2,1,0,2,1
50,0,1,120,244,0,1,162,0,1.1,2,0,2,1
50,0,0,110,254,0,0,159,0,0,2,0,2,1
64,0,0,180,325,0,1,154,1,0,2,0,2,1
57,1,2,150,126,1,1,173,0,0.2,2,1,3,1
64,0,2,140,313,0,1,133,0,0.2,2,0,3,1
43,1,0,110,211,0,1,161,0,0,2,0,3,1
55,1,1,130,262,0,1,155,0,0,2,0,2,1
37,0,2,120,215,0,1,170,0,0,2,0,2,1
41,1,2,130,214,0,0,168,0,2,1,0,2,1
56,1,3,120,193,0,0,162,0,1.9,1,0,3,1
46,0,1,105,204,0,1,172,0,0,2,0,2,1
46,0,0,138,243,0,0,152,1,0,1,0,2,1
64,0,0,130,303,0,1,122,0,2,1,2,2,1
59,1,0,138,271,0,0,182,0,0,2,0,2,1
41,0,2,112,268,0,0,172,1,0,2,0,2,1
54,0,2,108,267,0,0,167,0,0,2,0,2,1
39,0,2,94,199,0,1,179,0,0,2,0,2,1
34,0,1,118,210,0,1,192,0,0.7,2,0,2,1
47,1,0,112,204,0,1,143,0,0.1,2,0,2,1
67,0,2,152,277,0,1,172,0,0,2,1,2,1
52,0,2,136,196,0,0,169,0,0.1,1,0,2,1
74,0,1,120,269,0,0,121,1,0.2,2,1,2,1
54,0,2,160,201,0,1,163,0,0,2,1,2,1
49,0,1,134,271,0,1,162,0,0,1,0,2,1
42,1,1,120,295,0,1,162,0,0,2,0,2,1
41,1,1,110,235,0,1,153,0,0,2,0,2,1
41,0,1,126,306,0,1,163,0,0,2,0,2,1
49,0,0,130,269,0,1,163,0,0,2,0,2,1
60,0,2,120,178,1,1,96,0,0,2,0,2,1
62,1,1,128,208,1,0,140,0,0,2,0,2,1
57,1,0,110,201,0,1,126,1,1.5,1,0,1,1
64,1,0,128,263,0,1,105,1,0.2,1,1,3,1
51,0,2,120,295,0,0,157,0,0.6,2,0,2,1
43,1,0,115,303,0,1,181,0,1.2,1,0,2,1
42,0,2,120,209,0,1,173,0,0,1,0,2,1
67,0,0,106,223,0,1,142,0,0.3,2,2,2,1
76,0,2,140,197,0,2,116,0,1.1,1,0,2,1
70,1,1,156,245,0,0,143,0,0,2,0,2,1
44,0,2,118,242,0,1,149,0,0.3,1,1,2,1
60,0,3,150,240,0,1,171,0,0.9,2,0,2,1
44,1,2,120,226,0,1,169,0,0,2,0,2,1
42,1,2,130,180,0,1,150,0,0,2,0,2,1
66,1,0,160,228,0,0,138,0,2.3,2,0,1,1
71,0,0,112,149,0,1,125,0,1.6,1,0,2,1
64,1,3,170,227,0,0,155,0,0.6,1,0,3,1
66,0,2,146,278,0,0,152,0,0,1,1,2,1
39,0,2,138,220,0,1,152,0,0,1,0,2,1
58,0,0,130,197,0,1,131,0,0.6,1,0,2,1
47,1,2,130,253,0,1,179,0,0,2,0,2,1
35,1,1,122,192,0,1,174,0,0,2,0,2,1
58,1,1,125,220,0,1,144,0,0.4,1,4,3,1
56,1,1,130,221,0,0,163,0,0,2,0,3,1
56,1,1,120,240,0,1,169,0,0,0,0,2,1
55,0,1,132,342,0,1,166,0,1.2,2,0,2,1
41,1,1,120,157,0,1,182,0,0,2,0,2,1
38,1,2,138,175,0,1,173,0,0,2,4,2,1
38,1,2,138,175,0,1,173,0,0,2,4,2,1
67,1,0,160,286,0,0,108,1,1.5,1,3,2,0
67,1,0,120,229,0,0,129,1,2.6,1,2,3,0
62,0,0,140,268,0,0,160,0,3.6,0,2,2,0
63,1,0,130,254,0,0,147,0,1.4,1,1,3,0
53,1,0,140,203,1,0,155,1,3.1,0,0,3,0
56,1,2,130,256,1,0,142,1,0.6,1,1,1,0
48,1,1,110,229,0,1,168,0,1,0,0,3,0
58,1,1,120,284,0,0,160,0,1.8,1,0,2,0
58,1,2,132,224,0,0,173,0,3.2,2,2,3,0
60,1,0,130,206,0,0,132,1,2.4,1,2,3,0
40,1,0,110,167,0,0,114,1,2,1,0,3,0
60,1,0,117,230,1,1,160,1,1.4,2,2,3,0
64,1,2,140,335,0,1,158,0,0,2,0,2,0
43,1,0,120,177,0,0,120,1,2.5,1,0,3,0
57,1,0,150,276,0,0,112,1,0.6,1,1,1,0
55,1,0,132,353,0,1,132,1,1.2,1,1,3,0
65,0,0,150,225,0,0,114,0,1,1,3,3,0
61,0,0,130,330,0,0,169,0,0,2,0,2,0
58,1,2,112,230,0,0,165,0,2.5,1,1,3,0
50,1,0,150,243,0,0,128,0,2.6,1,0,3,0
44,1,0,112,290,0,0,153,0,0,2,1,2,0
60,1,0,130,253,0,1,144,1,1.4,2,1,3,0
54,1,0,124,266,0,0,109,1,2.2,1,1,3,0
50,1,2,140,233,0,1,163,0,0.6,1,1,3,0
41,1,0,110,172,0,0,158,0,0,2,0,3,0
51,0,0,130,305,0,1,142,1,1.2,1,0,3,0
58,1,0,128,216,0,0,131,1,2.2,1,3,3,0
54,1,0,120,188,0,1,113,0,1.4,1,1,3,0
60,1,0,145,282,0,0,142,1,2.8,1,2,3,0
60,1,2,140,185,0,0,155,0,3,1,0,2,0
59,1,0,170,326,0,0,140,1,3.4,0,0,3,0
46,1,2,150,231,0,1,147,0,3.6,1,0,2,0
67,1,0,125,254,1,1,163,0,0.2,1,2,3,0
62,1,0,120,267,0,1,99,1,1.8,1,2,3,0
65,1,0,110,248,0,0,158,0,0.6,2,2,1,0
44,1,0,110,197,0,0,177,0,0,2,1,2,0
60,1,0,125,258,0,0,141,1,2.8,1,1,3,0
58,1,0,150,270,0,0,111,1,0.8,2,0,3,0
68,1,2,180,274,1,0,150,1,1.6,1,0,3,0
62,0,0,160,164,0,0,145,0,6.2,0,3,3,0
52,1,0,128,255,0,1,161,1,0,2,1,3,0
59,1,0,110,239,0,0,142,1,1.2,1,1,3,0
60,0,0,150,258,0,0,157,0,2.6,1,2,3,0
49,1,2,120,188,0,1,139,0,2,1,3,3,0
59,1,0,140,177,0,1,162,1,0,2,1,3,0
57,1,2,128,229,0,0,150,0,0.4,1,1,3,0
61,1,0,120,260,0,1,140,1,3.6,1,1,3,0
39,1,0,118,219,0,1,140,0,1.2,1,0,3,0
61,0,0,145,307,0,0,146,1,1,1,0,3,0
56,1,0,125,249,1,0,144,1,1.2,1,1,2,0
43,0,0,132,341,1,0,136,1,3,1,0,3,0
62,0,2,130,263,0,1,97,0,1.2,1,1,3,0
63,1,0,130,330,1,0,132,1,1.8,2,3,3,0
65,1,0,135,254,0,0,127,0,2.8,1,1,3,0
48,1,0,130,256,1,0,150,1,0,2,2,3,0
63,0,0,150,407,0,0,154,0,4,1,3,3,0
55,1,0,140,217,0,1,111,1,5.6,0,0,3,0
65,1,3,138,282,1,0,174,0,1.4,1,1,2,0
56,0,0,200,288,1,0,133,1,4,0,2,3,0
54,1,0,110,239,0,1,126,1,2.8,1,1,3,0
70,1,0,145,174,0,1,125,1,2.6,0,0,3,0
62,1,1,120,281,0,0,103,0,1.4,1,1,3,0
35,1,0,120,198,0,1,130,1,1.6,1,0,3,0
59,1,3,170,288,0,0,159,0,0.2,1,0,3,0
64,1,2,125,309,0,1,131,1,1.8,1,0,3,0
47,1,2,108,243,0,1,152,0,0,2,0,2,0
57,1,0,165,289,1,0,124,0,1,1,3,3,0
55,1,0,160,289,0,0,145,1,0.8,1,1,3,0
64,1,0,120,246,0,0,96,1,2.2,0,1,2,0
70,1,0,130,322,0,0,109,0,2.4,1,3,2,0
51,1,0,140,299,0,1,173,1,1.6,2,0,3,0
58,1,0,125,300,0,0,171,0,0,2,2,3,0
60,1,0,140,293,0,0,170,0,1.2,1,2,3,0
77,1,0,125,304,0,0,162,1,0,2,3,2,0
35,1,0,126,282,0,0,156,1,0,2,0,3,0
70,1,2,160,269,0,1,112,1,2.9,1,1,3,0
59,0,0,174,249,0,1,143,1,0,1,0,2,0
64,1,0,145,212,0,0,132,0,2,1,2,1,0
57,1,0,152,274,0,1,88,1,1.2,1,1,3,0
56,1,0,132,184,0,0,105,1,2.1,1,1,1,0
48,1,0,124,274,0,0,166,0,0.5,1,0,3,0
56,0,0,134,409,0,0,150,1,1.9,1,2,3,0
66,1,1,160,246,0,1,120,1,0,1,3,1,0
54,1,1,192,283,0,0,195,0,0,2,1,3,0
69,1,2,140,254,0,0,146,0,2,1,3,3,0
51,1,0,140,298,0,1,122,1,4.2,1,3,3,0
43,1,0,132,247,1,0,143,1,0.1,1,4,3,0
62,0,0,138,294,1,1,106,0,1.9,1,3,2,0
67,1,0,100,299,0,0,125,1,0.9,1,2,2,0
59,1,3,160,273,0,0,125,0,0,2,0,2,0
45,1,0,142,309,0,0,147,1,0,1,3,3,0
58,1,0,128,259,0,0,130,1,3,1,2,3,0
50,1,0,144,200,0,0,126,1,0.9,1,0,3,0
62,0,0,150,244,0,1,154,1,1.4,1,0,2,0
38,1,3,120,231,0,1,182,1,3.8,1,0,3,0
66,0,0,178,228,1,1,165,1,1,1,2,3,0
52,1,0,112,230,0,1,160,0,0,2,1,2,0
53,1,0,123,282,0,1,95,1,2,1,2,3,0
63,0,0,108,269,0,1,169,1,1.8,1,2,2,0
54,1,0,110,206,0,0,108,1,0,1,1,2,0
66,1,0,112,212,0,0,132,1,0.1,2,1,2,0
55,0,0,180,327,0,2,117,1,3.4,1,0,2,0
49,1,2,118,149,0,0,126,0,0.8,2,3,2,0
54,1,0,122,286,0,0,116,1,3.2,1,2,2,0
56,1,0,130,283,1,0,103,1,1.6,0,0,3,0
46,1,0,120,249,0,0,144,0,0.8,2,0,3,0
61,1,3,134,234,0,1,145,0,2.6,1,2,2,0
67,1,0,120,237,0,1,71,0,1,1,0,2,0
58,1,0,100,234,0,1,156,0,0.1,2,1,3,0
47,1,0,110,275,0,0,118,1,1,1,1,2,0
52,1,0,125,212,0,1,168,0,1,2,2,3,0
58,1,0,146,218,0,1,105,0,2,1,1,3,0
57,1,1,124,261,0,1,141,0,0.3,2,0,3,0
58,0,1,136,319,1,0,152,0,0,2,2,2,0
61,1,0,138,166,0,0,125,1,3.6,1,1,2,0
42,1,0,136,315,0,1,125,1,1.8,1,0,1,0
52,1,0,128,204,1,1,156,1,1,1,0,0,0
59,1,2,126,218,1,1,134,0,2.2,1,1,1,0
40,1,0,152,223,0,1,181,0,0,2,0,3,0
61,1,0,140,207,0,0,138,1,1.9,2,1,3,0
46,1,0,140,311,0,1,120,1,1.8,1,2,3,0
59,1,3,134,204,0,1,162,0,0.8,2,2,2,0
57,1,1,154,232,0,0,164,0,0,2,1,2,0
57,1,0,110,335,0,1,143,1,3,1,1,3,0
55,0,0,128,205,0,2,130,1,2,1,1,3,0
61,1,0,148,203,0,1,161,0,0,2,1,3,0
58,1,0,114,318,0,2,140,0,4.4,0,3,1,0
58,0,0,170,225,1,0,146,1,2.8,1,2,1,0
67,1,2,152,212,0,0,150,0,0.8,1,0,3,0
44,1,0,120,169,0,1,144,1,2.8,0,0,1,0
63,1,0,140,187,0,0,144,1,4,2,2,3,0
63,0,0,124,197,0,1,136,1,0,1,0,2,0
59,1,0,164,176,1,0,90,0,1,1,2,1,0
57,0,0,140,241,0,1,123,1,0.2,1,0,3,0
45,1,3,110,264,0,1,132,0,1.2,1,0,3,0
68,1,0,144,193,1,1,141,0,3.4,1,2,3,0
57,1,0,130,131,0,1,115,1,1.2,1,1,3,0
57,0,1,130,236,0,0,174,0,0,1,1,2,0
1 age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal target
2 63 1 3 145 233 1 0 150 0 2.3 0 0 1 1
3 37 1 2 130 250 0 1 187 0 3.5 0 0 2 1
4 41 0 1 130 204 0 0 172 0 1.4 2 0 2 1
5 56 1 1 120 236 0 1 178 0 0.8 2 0 2 1
6 57 0 0 120 354 0 1 163 1 0.6 2 0 2 1
7 57 1 0 140 192 0 1 148 0 0.4 1 0 1 1
8 56 0 1 140 294 0 0 153 0 1.3 1 0 2 1
9 44 1 1 120 263 0 1 173 0 0 2 0 3 1
10 52 1 2 172 199 1 1 162 0 0.5 2 0 3 1
11 57 1 2 150 168 0 1 174 0 1.6 2 0 2 1
12 54 1 0 140 239 0 1 160 0 1.2 2 0 2 1
13 48 0 2 130 275 0 1 139 0 0.2 2 0 2 1
14 49 1 1 130 266 0 1 171 0 0.6 2 0 2 1
15 64 1 3 110 211 0 0 144 1 1.8 1 0 2 1
16 58 0 3 150 283 1 0 162 0 1 2 0 2 1
17 50 0 2 120 219 0 1 158 0 1.6 1 0 2 1
18 58 0 2 120 340 0 1 172 0 0 2 0 2 1
19 66 0 3 150 226 0 1 114 0 2.6 0 0 2 1
20 43 1 0 150 247 0 1 171 0 1.5 2 0 2 1
21 69 0 3 140 239 0 1 151 0 1.8 2 2 2 1
22 59 1 0 135 234 0 1 161 0 0.5 1 0 3 1
23 44 1 2 130 233 0 1 179 1 0.4 2 0 2 1
24 42 1 0 140 226 0 1 178 0 0 2 0 2 1
25 61 1 2 150 243 1 1 137 1 1 1 0 2 1
26 40 1 3 140 199 0 1 178 1 1.4 2 0 3 1
27 71 0 1 160 302 0 1 162 0 0.4 2 2 2 1
28 59 1 2 150 212 1 1 157 0 1.6 2 0 2 1
29 51 1 2 110 175 0 1 123 0 0.6 2 0 2 1
30 65 0 2 140 417 1 0 157 0 0.8 2 1 2 1
31 53 1 2 130 197 1 0 152 0 1.2 0 0 2 1
32 41 0 1 105 198 0 1 168 0 0 2 1 2 1
33 65 1 0 120 177 0 1 140 0 0.4 2 0 3 1
34 44 1 1 130 219 0 0 188 0 0 2 0 2 1
35 54 1 2 125 273 0 0 152 0 0.5 0 1 2 1
36 51 1 3 125 213 0 0 125 1 1.4 2 1 2 1
37 46 0 2 142 177 0 0 160 1 1.4 0 0 2 1
38 54 0 2 135 304 1 1 170 0 0 2 0 2 1
39 54 1 2 150 232 0 0 165 0 1.6 2 0 3 1
40 65 0 2 155 269 0 1 148 0 0.8 2 0 2 1
41 65 0 2 160 360 0 0 151 0 0.8 2 0 2 1
42 51 0 2 140 308 0 0 142 0 1.5 2 1 2 1
43 48 1 1 130 245 0 0 180 0 0.2 1 0 2 1
44 45 1 0 104 208 0 0 148 1 3 1 0 2 1
45 53 0 0 130 264 0 0 143 0 0.4 1 0 2 1
46 39 1 2 140 321 0 0 182 0 0 2 0 2 1
47 52 1 1 120 325 0 1 172 0 0.2 2 0 2 1
48 44 1 2 140 235 0 0 180 0 0 2 0 2 1
49 47 1 2 138 257 0 0 156 0 0 2 0 2 1
50 53 0 2 128 216 0 0 115 0 0 2 0 0 1
51 53 0 0 138 234 0 0 160 0 0 2 0 2 1
52 51 0 2 130 256 0 0 149 0 0.5 2 0 2 1
53 66 1 0 120 302 0 0 151 0 0.4 1 0 2 1
54 62 1 2 130 231 0 1 146 0 1.8 1 3 3 1
55 44 0 2 108 141 0 1 175 0 0.6 1 0 2 1
56 63 0 2 135 252 0 0 172 0 0 2 0 2 1
57 52 1 1 134 201 0 1 158 0 0.8 2 1 2 1
58 48 1 0 122 222 0 0 186 0 0 2 0 2 1
59 45 1 0 115 260 0 0 185 0 0 2 0 2 1
60 34 1 3 118 182 0 0 174 0 0 2 0 2 1
61 57 0 0 128 303 0 0 159 0 0 2 1 2 1
62 71 0 2 110 265 1 0 130 0 0 2 1 2 1
63 54 1 1 108 309 0 1 156 0 0 2 0 3 1
64 52 1 3 118 186 0 0 190 0 0 1 0 1 1
65 41 1 1 135 203 0 1 132 0 0 1 0 1 1
66 58 1 2 140 211 1 0 165 0 0 2 0 2 1
67 35 0 0 138 183 0 1 182 0 1.4 2 0 2 1
68 51 1 2 100 222 0 1 143 1 1.2 1 0 2 1
69 45 0 1 130 234 0 0 175 0 0.6 1 0 2 1
70 44 1 1 120 220 0 1 170 0 0 2 0 2 1
71 62 0 0 124 209 0 1 163 0 0 2 0 2 1
72 54 1 2 120 258 0 0 147 0 0.4 1 0 3 1
73 51 1 2 94 227 0 1 154 1 0 2 1 3 1
74 29 1 1 130 204 0 0 202 0 0 2 0 2 1
75 51 1 0 140 261 0 0 186 1 0 2 0 2 1
76 43 0 2 122 213 0 1 165 0 0.2 1 0 2 1
77 55 0 1 135 250 0 0 161 0 1.4 1 0 2 1
78 51 1 2 125 245 1 0 166 0 2.4 1 0 2 1
79 59 1 1 140 221 0 1 164 1 0 2 0 2 1
80 52 1 1 128 205 1 1 184 0 0 2 0 2 1
81 58 1 2 105 240 0 0 154 1 0.6 1 0 3 1
82 41 1 2 112 250 0 1 179 0 0 2 0 2 1
83 45 1 1 128 308 0 0 170 0 0 2 0 2 1
84 60 0 2 102 318 0 1 160 0 0 2 1 2 1
85 52 1 3 152 298 1 1 178 0 1.2 1 0 3 1
86 42 0 0 102 265 0 0 122 0 0.6 1 0 2 1
87 67 0 2 115 564 0 0 160 0 1.6 1 0 3 1
88 68 1 2 118 277 0 1 151 0 1 2 1 3 1
89 46 1 1 101 197 1 1 156 0 0 2 0 3 1
90 54 0 2 110 214 0 1 158 0 1.6 1 0 2 1
91 58 0 0 100 248 0 0 122 0 1 1 0 2 1
92 48 1 2 124 255 1 1 175 0 0 2 2 2 1
93 57 1 0 132 207 0 1 168 1 0 2 0 3 1
94 52 1 2 138 223 0 1 169 0 0 2 4 2 1
95 54 0 1 132 288 1 0 159 1 0 2 1 2 1
96 45 0 1 112 160 0 1 138 0 0 1 0 2 1
97 53 1 0 142 226 0 0 111 1 0 2 0 3 1
98 62 0 0 140 394 0 0 157 0 1.2 1 0 2 1
99 52 1 0 108 233 1 1 147 0 0.1 2 3 3 1
100 43 1 2 130 315 0 1 162 0 1.9 2 1 2 1
101 53 1 2 130 246 1 0 173 0 0 2 3 2 1
102 42 1 3 148 244 0 0 178 0 0.8 2 2 2 1
103 59 1 3 178 270 0 0 145 0 4.2 0 0 3 1
104 63 0 1 140 195 0 1 179 0 0 2 2 2 1
105 42 1 2 120 240 1 1 194 0 0.8 0 0 3 1
106 50 1 2 129 196 0 1 163 0 0 2 0 2 1
107 68 0 2 120 211 0 0 115 0 1.5 1 0 2 1
108 69 1 3 160 234 1 0 131 0 0.1 1 1 2 1
109 45 0 0 138 236 0 0 152 1 0.2 1 0 2 1
110 50 0 1 120 244 0 1 162 0 1.1 2 0 2 1
111 50 0 0 110 254 0 0 159 0 0 2 0 2 1
112 64 0 0 180 325 0 1 154 1 0 2 0 2 1
113 57 1 2 150 126 1 1 173 0 0.2 2 1 3 1
114 64 0 2 140 313 0 1 133 0 0.2 2 0 3 1
115 43 1 0 110 211 0 1 161 0 0 2 0 3 1
116 55 1 1 130 262 0 1 155 0 0 2 0 2 1
117 37 0 2 120 215 0 1 170 0 0 2 0 2 1
118 41 1 2 130 214 0 0 168 0 2 1 0 2 1
119 56 1 3 120 193 0 0 162 0 1.9 1 0 3 1
120 46 0 1 105 204 0 1 172 0 0 2 0 2 1
121 46 0 0 138 243 0 0 152 1 0 1 0 2 1
122 64 0 0 130 303 0 1 122 0 2 1 2 2 1
123 59 1 0 138 271 0 0 182 0 0 2 0 2 1
124 41 0 2 112 268 0 0 172 1 0 2 0 2 1
125 54 0 2 108 267 0 0 167 0 0 2 0 2 1
126 39 0 2 94 199 0 1 179 0 0 2 0 2 1
127 34 0 1 118 210 0 1 192 0 0.7 2 0 2 1
128 47 1 0 112 204 0 1 143 0 0.1 2 0 2 1
129 67 0 2 152 277 0 1 172 0 0 2 1 2 1
130 52 0 2 136 196 0 0 169 0 0.1 1 0 2 1
131 74 0 1 120 269 0 0 121 1 0.2 2 1 2 1
132 54 0 2 160 201 0 1 163 0 0 2 1 2 1
133 49 0 1 134 271 0 1 162 0 0 1 0 2 1
134 42 1 1 120 295 0 1 162 0 0 2 0 2 1
135 41 1 1 110 235 0 1 153 0 0 2 0 2 1
136 41 0 1 126 306 0 1 163 0 0 2 0 2 1
137 49 0 0 130 269 0 1 163 0 0 2 0 2 1
138 60 0 2 120 178 1 1 96 0 0 2 0 2 1
139 62 1 1 128 208 1 0 140 0 0 2 0 2 1
140 57 1 0 110 201 0 1 126 1 1.5 1 0 1 1
141 64 1 0 128 263 0 1 105 1 0.2 1 1 3 1
142 51 0 2 120 295 0 0 157 0 0.6 2 0 2 1
143 43 1 0 115 303 0 1 181 0 1.2 1 0 2 1
144 42 0 2 120 209 0 1 173 0 0 1 0 2 1
145 67 0 0 106 223 0 1 142 0 0.3 2 2 2 1
146 76 0 2 140 197 0 2 116 0 1.1 1 0 2 1
147 70 1 1 156 245 0 0 143 0 0 2 0 2 1
148 44 0 2 118 242 0 1 149 0 0.3 1 1 2 1
149 60 0 3 150 240 0 1 171 0 0.9 2 0 2 1
150 44 1 2 120 226 0 1 169 0 0 2 0 2 1
151 42 1 2 130 180 0 1 150 0 0 2 0 2 1
152 66 1 0 160 228 0 0 138 0 2.3 2 0 1 1
153 71 0 0 112 149 0 1 125 0 1.6 1 0 2 1
154 64 1 3 170 227 0 0 155 0 0.6 1 0 3 1
155 66 0 2 146 278 0 0 152 0 0 1 1 2 1
156 39 0 2 138 220 0 1 152 0 0 1 0 2 1
157 58 0 0 130 197 0 1 131 0 0.6 1 0 2 1
158 47 1 2 130 253 0 1 179 0 0 2 0 2 1
159 35 1 1 122 192 0 1 174 0 0 2 0 2 1
160 58 1 1 125 220 0 1 144 0 0.4 1 4 3 1
161 56 1 1 130 221 0 0 163 0 0 2 0 3 1
162 56 1 1 120 240 0 1 169 0 0 0 0 2 1
163 55 0 1 132 342 0 1 166 0 1.2 2 0 2 1
164 41 1 1 120 157 0 1 182 0 0 2 0 2 1
165 38 1 2 138 175 0 1 173 0 0 2 4 2 1
166 38 1 2 138 175 0 1 173 0 0 2 4 2 1
167 67 1 0 160 286 0 0 108 1 1.5 1 3 2 0
168 67 1 0 120 229 0 0 129 1 2.6 1 2 3 0
169 62 0 0 140 268 0 0 160 0 3.6 0 2 2 0
170 63 1 0 130 254 0 0 147 0 1.4 1 1 3 0
171 53 1 0 140 203 1 0 155 1 3.1 0 0 3 0
172 56 1 2 130 256 1 0 142 1 0.6 1 1 1 0
173 48 1 1 110 229 0 1 168 0 1 0 0 3 0
174 58 1 1 120 284 0 0 160 0 1.8 1 0 2 0
175 58 1 2 132 224 0 0 173 0 3.2 2 2 3 0
176 60 1 0 130 206 0 0 132 1 2.4 1 2 3 0
177 40 1 0 110 167 0 0 114 1 2 1 0 3 0
178 60 1 0 117 230 1 1 160 1 1.4 2 2 3 0
179 64 1 2 140 335 0 1 158 0 0 2 0 2 0
180 43 1 0 120 177 0 0 120 1 2.5 1 0 3 0
181 57 1 0 150 276 0 0 112 1 0.6 1 1 1 0
182 55 1 0 132 353 0 1 132 1 1.2 1 1 3 0
183 65 0 0 150 225 0 0 114 0 1 1 3 3 0
184 61 0 0 130 330 0 0 169 0 0 2 0 2 0
185 58 1 2 112 230 0 0 165 0 2.5 1 1 3 0
186 50 1 0 150 243 0 0 128 0 2.6 1 0 3 0
187 44 1 0 112 290 0 0 153 0 0 2 1 2 0
188 60 1 0 130 253 0 1 144 1 1.4 2 1 3 0
189 54 1 0 124 266 0 0 109 1 2.2 1 1 3 0
190 50 1 2 140 233 0 1 163 0 0.6 1 1 3 0
191 41 1 0 110 172 0 0 158 0 0 2 0 3 0
192 51 0 0 130 305 0 1 142 1 1.2 1 0 3 0
193 58 1 0 128 216 0 0 131 1 2.2 1 3 3 0
194 54 1 0 120 188 0 1 113 0 1.4 1 1 3 0
195 60 1 0 145 282 0 0 142 1 2.8 1 2 3 0
196 60 1 2 140 185 0 0 155 0 3 1 0 2 0
197 59 1 0 170 326 0 0 140 1 3.4 0 0 3 0
198 46 1 2 150 231 0 1 147 0 3.6 1 0 2 0
199 67 1 0 125 254 1 1 163 0 0.2 1 2 3 0
200 62 1 0 120 267 0 1 99 1 1.8 1 2 3 0
201 65 1 0 110 248 0 0 158 0 0.6 2 2 1 0
202 44 1 0 110 197 0 0 177 0 0 2 1 2 0
203 60 1 0 125 258 0 0 141 1 2.8 1 1 3 0
204 58 1 0 150 270 0 0 111 1 0.8 2 0 3 0
205 68 1 2 180 274 1 0 150 1 1.6 1 0 3 0
206 62 0 0 160 164 0 0 145 0 6.2 0 3 3 0
207 52 1 0 128 255 0 1 161 1 0 2 1 3 0
208 59 1 0 110 239 0 0 142 1 1.2 1 1 3 0
209 60 0 0 150 258 0 0 157 0 2.6 1 2 3 0
210 49 1 2 120 188 0 1 139 0 2 1 3 3 0
211 59 1 0 140 177 0 1 162 1 0 2 1 3 0
212 57 1 2 128 229 0 0 150 0 0.4 1 1 3 0
213 61 1 0 120 260 0 1 140 1 3.6 1 1 3 0
214 39 1 0 118 219 0 1 140 0 1.2 1 0 3 0
215 61 0 0 145 307 0 0 146 1 1 1 0 3 0
216 56 1 0 125 249 1 0 144 1 1.2 1 1 2 0
217 43 0 0 132 341 1 0 136 1 3 1 0 3 0
218 62 0 2 130 263 0 1 97 0 1.2 1 1 3 0
219 63 1 0 130 330 1 0 132 1 1.8 2 3 3 0
220 65 1 0 135 254 0 0 127 0 2.8 1 1 3 0
221 48 1 0 130 256 1 0 150 1 0 2 2 3 0
222 63 0 0 150 407 0 0 154 0 4 1 3 3 0
223 55 1 0 140 217 0 1 111 1 5.6 0 0 3 0
224 65 1 3 138 282 1 0 174 0 1.4 1 1 2 0
225 56 0 0 200 288 1 0 133 1 4 0 2 3 0
226 54 1 0 110 239 0 1 126 1 2.8 1 1 3 0
227 70 1 0 145 174 0 1 125 1 2.6 0 0 3 0
228 62 1 1 120 281 0 0 103 0 1.4 1 1 3 0
229 35 1 0 120 198 0 1 130 1 1.6 1 0 3 0
230 59 1 3 170 288 0 0 159 0 0.2 1 0 3 0
231 64 1 2 125 309 0 1 131 1 1.8 1 0 3 0
232 47 1 2 108 243 0 1 152 0 0 2 0 2 0
233 57 1 0 165 289 1 0 124 0 1 1 3 3 0
234 55 1 0 160 289 0 0 145 1 0.8 1 1 3 0
235 64 1 0 120 246 0 0 96 1 2.2 0 1 2 0
236 70 1 0 130 322 0 0 109 0 2.4 1 3 2 0
237 51 1 0 140 299 0 1 173 1 1.6 2 0 3 0
238 58 1 0 125 300 0 0 171 0 0 2 2 3 0
239 60 1 0 140 293 0 0 170 0 1.2 1 2 3 0
240 77 1 0 125 304 0 0 162 1 0 2 3 2 0
241 35 1 0 126 282 0 0 156 1 0 2 0 3 0
242 70 1 2 160 269 0 1 112 1 2.9 1 1 3 0
243 59 0 0 174 249 0 1 143 1 0 1 0 2 0
244 64 1 0 145 212 0 0 132 0 2 1 2 1 0
245 57 1 0 152 274 0 1 88 1 1.2 1 1 3 0
246 56 1 0 132 184 0 0 105 1 2.1 1 1 1 0
247 48 1 0 124 274 0 0 166 0 0.5 1 0 3 0
248 56 0 0 134 409 0 0 150 1 1.9 1 2 3 0
249 66 1 1 160 246 0 1 120 1 0 1 3 1 0
250 54 1 1 192 283 0 0 195 0 0 2 1 3 0
251 69 1 2 140 254 0 0 146 0 2 1 3 3 0
252 51 1 0 140 298 0 1 122 1 4.2 1 3 3 0
253 43 1 0 132 247 1 0 143 1 0.1 1 4 3 0
254 62 0 0 138 294 1 1 106 0 1.9 1 3 2 0
255 67 1 0 100 299 0 0 125 1 0.9 1 2 2 0
256 59 1 3 160 273 0 0 125 0 0 2 0 2 0
257 45 1 0 142 309 0 0 147 1 0 1 3 3 0
258 58 1 0 128 259 0 0 130 1 3 1 2 3 0
259 50 1 0 144 200 0 0 126 1 0.9 1 0 3 0
260 62 0 0 150 244 0 1 154 1 1.4 1 0 2 0
261 38 1 3 120 231 0 1 182 1 3.8 1 0 3 0
262 66 0 0 178 228 1 1 165 1 1 1 2 3 0
263 52 1 0 112 230 0 1 160 0 0 2 1 2 0
264 53 1 0 123 282 0 1 95 1 2 1 2 3 0
265 63 0 0 108 269 0 1 169 1 1.8 1 2 2 0
266 54 1 0 110 206 0 0 108 1 0 1 1 2 0
267 66 1 0 112 212 0 0 132 1 0.1 2 1 2 0
268 55 0 0 180 327 0 2 117 1 3.4 1 0 2 0
269 49 1 2 118 149 0 0 126 0 0.8 2 3 2 0
270 54 1 0 122 286 0 0 116 1 3.2 1 2 2 0
271 56 1 0 130 283 1 0 103 1 1.6 0 0 3 0
272 46 1 0 120 249 0 0 144 0 0.8 2 0 3 0
273 61 1 3 134 234 0 1 145 0 2.6 1 2 2 0
274 67 1 0 120 237 0 1 71 0 1 1 0 2 0
275 58 1 0 100 234 0 1 156 0 0.1 2 1 3 0
276 47 1 0 110 275 0 0 118 1 1 1 1 2 0
277 52 1 0 125 212 0 1 168 0 1 2 2 3 0
278 58 1 0 146 218 0 1 105 0 2 1 1 3 0
279 57 1 1 124 261 0 1 141 0 0.3 2 0 3 0
280 58 0 1 136 319 1 0 152 0 0 2 2 2 0
281 61 1 0 138 166 0 0 125 1 3.6 1 1 2 0
282 42 1 0 136 315 0 1 125 1 1.8 1 0 1 0
283 52 1 0 128 204 1 1 156 1 1 1 0 0 0
284 59 1 2 126 218 1 1 134 0 2.2 1 1 1 0
285 40 1 0 152 223 0 1 181 0 0 2 0 3 0
286 61 1 0 140 207 0 0 138 1 1.9 2 1 3 0
287 46 1 0 140 311 0 1 120 1 1.8 1 2 3 0
288 59 1 3 134 204 0 1 162 0 0.8 2 2 2 0
289 57 1 1 154 232 0 0 164 0 0 2 1 2 0
290 57 1 0 110 335 0 1 143 1 3 1 1 3 0
291 55 0 0 128 205 0 2 130 1 2 1 1 3 0
292 61 1 0 148 203 0 1 161 0 0 2 1 3 0
293 58 1 0 114 318 0 2 140 0 4.4 0 3 1 0
294 58 0 0 170 225 1 0 146 1 2.8 1 2 1 0
295 67 1 2 152 212 0 0 150 0 0.8 1 0 3 0
296 44 1 0 120 169 0 1 144 1 2.8 0 0 1 0
297 63 1 0 140 187 0 0 144 1 4 2 2 3 0
298 63 0 0 124 197 0 1 136 1 0 1 0 2 0
299 59 1 0 164 176 1 0 90 0 1 1 2 1 0
300 57 0 0 140 241 0 1 123 1 0.2 1 0 3 0
301 45 1 3 110 264 0 1 132 0 1.2 1 0 3 0
302 68 1 0 144 193 1 1 141 0 3.4 1 2 3 0
303 57 1 0 130 131 0 1 115 1 1.2 1 1 3 0
304 57 0 1 130 236 0 0 174 0 0 1 1 2 0

View File

@@ -0,0 +1,629 @@
---
title: "Prise en main de ggplot2"
author: "Quentin Guibert"
date: "Année 2025-2026"
institute: "Université Paris-Dauphine | Master ISF"
lang: fr
link-citations: true
output:
rmdformats::robobook:
highlight: kate
use_bookdown: true
css: style.css
lightbox : true
gallery: true
code_folding: show
theme: flatly
toc_float:
collapsed: no
editor_options:
markdown:
wrap: 72
# bibliography: references.bib
---
```{r setup, include=FALSE}
## Global options
knitr::opts_chunk$set(
cache = FALSE,
warning = FALSE,
message = FALSE,
fig.retina = 2,
fig.height = 6,
fig.width = 12
)
options(encoding = 'UTF-8')
```
```{r, echo = FALSE, fig.keep= 'none'}
# Chargement des librairies graphiques
library(lattice)
library(grid)
library(ggplot2)
require(gridExtra)
library(locfit)
library(scales)
library(formattable)
library(RColorBrewer)
library(plotly)
library(dplyr)
library(tidyr)
library(rmarkdown)
library(ggthemes)
library(cowplot)
library(kableExtra)
```
# Objectifs du TP
L'objectif de ce TP vise à se familiariser avec le package **ggplot2**
de `R`. Il s'agit de faire des manipulations graphiques élémentaires et
d'interpréter les résultats de ces visualisations.
Dans un premier temps, vous pouvez suivre l'exemple introductif en
répliquant le code fourni. Dans un deuxième temps, il convient de
réaliser l'exercice point par point.
# Prérequis
- Avoir installer `R` [ici](https://www.r-project.org/).
- Avoir installer un IDE, par exemple `RStudio`
[ici](https://posit.co/download/rstudio-desktop/).
- Créer un nouveau projet (`File`, puis `New Projet`) dans un dossier
sur votre ordinateur.
- Télécharger [ici](https://moodle.psl.eu/course/view.php?id=33799)
les fichiers nécessaires au TD.
Vous pouvez ensuite écrire vos codes soit :
- En ouvrant un nouveau script `.R` ;
- En ouvrant le ouvrant le rapport Rmarkdown `3-td_ggplot2 - enonce`.
Certains codes sont partiels et sont à compléter (indication `???`).
N'oubliez pas de modifier l'option `eval = TRUE` pour que les
calculs puissent être réalisés.
# Exemple introductif
Pour illustrer cette première partie, nous reprenons l'exemple
introductif fourni par @wickham2023 sur le jeu de données `penguins` du
package **palmerpenguins**. Ce jeu de données s'intèresse des mesures
réalisées sur des manchots sur 3 îles de l'archipelle Palmer.
## Données
Dans un premier temps, il faut installer le package et le charger.
```{r}
# install.packages("palmerpenguins")
library(palmerpenguins)
```
Ce jeu de données contient 344 observations où chaque ligne correspond à
un individu.
```{r}
paged_table(penguins, options = list(rows.print = 15))
```
On se concentre plus particulièrement sur les variables suivantes :
- `species` : l'espèce de manchot ;
- `flipper_length_mm` : la longueur de la nageoire en mm ;
- `body_mass_g` : la masse en gramme.
Pour plus détails, voir l'aide `?penguins`.
## But de la visualisation
On s'intéresse au lien entre le masse et la taille des nageoires des
manchots :
- ceux dont les nageoires sont les plus longues sont-ils plus lourds
que les manchots aux nageoires courtes ?
- si oui quelle est le type de relation (linéaire, croissante,
décroissante, ...) ?
- quels facteurs influencent également cette relation (lieu, l'espèce,
... ) ?
On cherche à recréer la figure suivante.
![](images\manchot.png)
## Création de la figure étape par étape
### Etape 1 : Scatterplot {.unnumbered}
On commence par créer un scatterplot pour examiner la relation entre la
masse et la taille de la nageoire.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g)
) +
geom_point()
```
Cette figure fait clairement apparaître une relation croissante et a
priori linéaire entre les deux variables.
::: remark-box
Un message d'erreur apparaît pour deux individus avec des données
manquantes. Ils sont automatiquement exclus.
:::
### Etape 2 : Ajout d'élements esthétiques {.unnumbered}
On cherche à présent exhiber le rôle de lespèce à partir d'une couleur.
Trois espèces sont présents, ainsi l'ajout de 3 couleurs à la figure ne
devrait pas surcharger le graphique.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g, color = species)
) +
geom_point()
```
Compte tenu du nombre important de points, nous pouvons renforcer les
différences par espèce en ajoutant une variation de forme aux points.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g)
) +
geom_point(
mapping = aes(
color = species,
shape = species
)
)
```
### Etape 3 : Ajout d'une géométrie {.unnumbered}
Voyons à présent comment interpréter la nature de la relation entre
masse et longueur de la nageoire. Pour ce faire, nous essayons d'ajout
des courbes de tendance. Nous commençons par une tendance linéaire.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g)
) +
geom_point(
mapping = aes(
color = species,
shape = species
)
) +
geom_smooth(method = "lm")
```
La même figure peut être générée par espèce en déplaçant l'argument
`color = species`.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g, color = species)
) +
geom_point(
mapping = aes(
shape = species
)
) +
geom_smooth(method = "lm")
```
Les pentes entre les espèces ne sont pas si éloignées. Nous décidons que
conserver une relation commune pour toutes espèces. Pour tester si la
nature linéaire de la relation est a priori une bonne hypothèse, nous
considérons un lissage non-paramétrique.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g)
) +
geom_point(
mapping = aes(
color = species,
shape = species
)
) +
geom_smooth(method = "loess")
```
L'ajout d'un lissage non-paramétrique permet d'affiner ladéquation aux
données, mais sans pour autant clairement remettre en cause la tendance
linéaire qui sera donc conservée.
### Etape 4 : Ajout des titres et changement de thème {.unnumbered}
Afin de finaliser la figure, nous ajouter :
- un titre ;
- un sous-titre ;
- des titres aux axes ;
- un titre à la légende.
Ces informations sont ajoutées avec `labs()`.
De plus, nous modifions le thème avec la commande `theme_bw()`.
```{r}
ggplot(
data = penguins,
mapping = aes(x = flipper_length_mm, y = body_mass_g)
) +
geom_point(aes(color = species, shape = species)) +
geom_smooth(method = "lm") +
labs(
title = "Masse et taille de la nageoire",
subtitle = "Manchots d'Adelie, a
jugulaire et de Gentoo",
x = "Longueur de la nageoire (mm)",
y = "Masse (g)",
color = "Espece",
shape = "Espece"
) +
scale_color_colorblind() +
theme_bw()
```
------------------------------------------------------------------------
# Exercice
## Données
Nous travaillons avec les jeux de données `FreMTPL2freq` et
`FreMTPL2sev` du package **Casdatasets**. Ces données ont été
préalablement pré-formatées et regroupées.
Ce jeux de données regroupent les caractéristiques de 677 991 polices de
responsabilité civile automobile, observées principalement sur une
année. Dans les données regroupées, on dispose des numéros de sinistre
par police, des montants de sinistre correspondants, des
caractéristiques du risque et du nombre de sinistres.
On présente ci-dessous un aperçu des données.
```{r begin}
# Folds
fold <- getwd()
# Load data
# load(paste0(fold, "/data/datafreMPTL.RData"))
load(paste0(fold, "/M2/Data Visualisation/tp1", "/data/datafreMPTL.RData"))
paged_table(dat, options = list(rows.print = 15))
```
Le tableau suivant présente une définition des variables.
```{r}
kableExtra::kable(
data.frame(
Variable = c(
"IDpol",
"Exposure",
"VehPower",
"VehAge",
"DrivAge",
"BonusMalus",
"VehBrand",
"VehGas",
"Area",
"Density",
"Region",
"ClaimTotal",
"ClaimNb"
),
Description = c(
"Identifiant de la police",
"Exposition au risque",
"Puissance du véhicule",
"Age du véhicule en année",
"Age du conducteur en année",
"Coefficient de bonus-malus",
"Marque du véhicule",
"Carburant du véhicule",
"Catégorie correspondant à la densité de la zone assurée",
"Densité de population",
"Region (selon la classication 1970-2015)",
"Montant total des sinistres",
"Nombre de sinistres sur la période"
),
Type = c(
rep("Reel", 2),
rep("Entier", 4),
rep("Cat", 3),
"Entier",
"Cat",
rep("Reel", 2)
)
),
booktabs = TRUE
)
# Short summary
str(dat)
```
Pour plus de détails, consulter l'aide `?CASdatasets::freMTPL2freq`.
------------------------------------------------------------------------
## But de la visualisation
Nous effectuons une première analyse descriptive de données et cherchons
à étudier la relation entre :
- la fréquence, calculée avec les variables `ClaimNb` et `Exposure`
(période d'exposition en année).
- les variables `Area` et `DrivAge`.
Le but de la visualisation est de fait ressortir les liens entre la
fréquence et ces deux variables.
### Etape 1 : Visualisation de la fréquence et de l'exposition {.unnumbered}
::: exercise-box
A partir des données `dat` :
- afficher les statistiques descriptives du nombre de sinistres
`ClaimNb` et de la variable `Exposure` ;
- afficher des histogrammes pour visualiser leur distribution ;
- afficher les figures côte a côte avec la fonction `plot_grid()`.
Essayer de choisir un thème de couleur et un écartement des barres de
l'histogramme facilitant sa lisibilité.
:::
::: indice-box
On pourra développer une fonction qui utilise `geom_histogram()` sous la
package **ggplot2**.
:::
```{r, fig.height = 6, fig.width = 12}
# Descriptive statistics
summary(dat$ClaimNb)
summary(dat$Exposure)
p1 <- ggplot(dat) +
geom_histogram(
aes(x = ClaimNb),
binwidth = 0.25,
fill = "lightblue",
color = "black"
) +
labs(
title = "Distribution du nombre de sinistres",
x = "Nombre de sinistres",
y = "Effectif"
) +
theme_bw()
p2 <- ggplot(dat) +
geom_histogram(
aes(x = Exposure),
binwidth = 0.05,
fill = "lightblue",
color = "black"
) +
labs(title = "Exposition", x = "Nombre de sinistres", y = "Effectif") +
theme_bw()
plot_grid(p1, p2, ncol = 2)
```
### Etape 2 : Calculer la fréquence {.unnumbered}
::: exercise-box
Construire un tableau présentant lexposition cumulée et le nombre
dobservations avec 0 sinistre, 1 sinistre, …
:::
```{r}
dat %>%
group_by(ClaimNb) %>%
summarise(n = n(), Exposure = round(sum(Exposure), 0)) %>%
kable(
col_names = c(
"Nombre de sinistres",
"Nombres d'observations",
"Exposition totale"
)
) %>%
kable_styling(full_width = F)
```
```{r}
pf_freq <- round(sum(dat$ClaimNb) / sum(dat$Exposure), 4)
pf_freq
``
`
Ce calcul de fréquence sera ensuite utile pour l'affichage des
résultats.
### Etape 3 : Calculer l'exposition et la fréquence par variable {.unnumbered}
::: exercise-box
Pour la variable `DrivAge`, présenter :
1. un histogramme de l'exposition en fonction de cette variable.
2. un histogramme de la fréquence moyenne de sinistres en fonction de
cette variable.
Remplacer ensuite le second histogramme par un scatter plot avec une
courbe de tendance. Est-ce plus clair ?
**Indice**
On pourra développer une fonction qui utilise `geom_bar()` sous la
package **ggplot2**.
:::
```{r, eval = FALSE}
# On regroupe selon les modalites de la DrivAge
# l'exposition, le nombre de sinistres et la frequence
df_plot <- dat %>%
group_by(DrivAge) %>%
summarize(exp = Exposure, nb_claims = ClaimNb, freq = nb_claims / exp)
# Histogramme exposition
ggplot(df_plot) +
geom_bar(
aes(x = DrivAge, y = exp),
stat = "identity",
fill = "lightblue",
color = "blue"
) +
labs(
title = "Exposition par âge du conducteur",
x = "Âge du conducteur",
y = "Exposition"
) +
theme_minimal()
# Histogramme frequence
ggplot(df_plot) +
geom_bar(
aes(x = DrivAge, y = freq),
stat = "identity",
fill = "lightblue",
color = "blue"
) +
labs(
title = "Fréquence par âge du conducteur",
x = "Âge du conducteur",
y = "Fréquence"
) +
theme_minimal()
```
```{r}
# Scatter plot frequence
# A compléter
```
### Etape 4 : Examiner l'intéraction avec une autre variable {.unnumbered}
::: exercise-box
A partir du scatter plot réalisé à l'étape précédente, distinguer les
évolutions de fréquence en fonction de `DrivAge` et de `BonusMalus`.
Ce graphique vous paraît-il transmettre un message clair ? Proposez des
améliorations en modifiant les variables `DrivAge` et `BonusMalus`.
:::
```{r}
# On regroupe selon les modalites de la DrivAge et de Area
# l'exposition, le nombre de sinistres et la frequence
# A compléter
```
On propose 4 ajustements :
- Exclure les âges extrêmes au-delà de 85 ans pour lesquels
l'exposition est très faible.
- Faire des classes d'âges.
- Limiter le Bonus-Malus à 125.
- Faire des classes de Bonus-Malus.
```{r}
# Classes d'âges pour Bonus-Malus
lim_classes <- c(50, 75, 100, 125, Inf)
# Exclusion des donnees "extremes" et faire les regroupement
df_plot <- dat %>%
filter(DrivAge <= 85, BonusMalus <= 125) %>%
# regroupement en classes d'ages de 5 ans
mutate(DrivAge = ceiling(pmin(DrivAge, 85) / 5) * 5) %>%
mutate(BonusMalus = cut(BonusMalus,
breaks = lim_classes, include.lowest = TRUE))
# On regroupe selon les modalites de la DrivAge et de Area
# l'exposition, le nombre de sinistres et la frequence
# A compléter
```
### Conclure {.unnumbered}
::: exercise-box
Comparer à présenter comment l'exposition se répartie entre âge et
bonus-malus.
:::
```{r, fig.height = 6, fig.width = 12}
# A compléter
```
### Bonus - Analyse des couples {.unnumbered}
::: exercise-box
En traitant toutes les variables comme des variables catégorielles,
analyser graphiquement comment évolue la fréquence de sinistres selon
les couples de variables.
Compléter pour cela la fonction suivante et appliquer la à différents
couples.
```{r, eval = F}
# Fonction d'analyse bivariée
# df : nom du data.frame
# var1 : nom de la variable explicative 1
# var2 : nom de la variable explicative 2
plot_pairwise_disc <- function(df, var1, var2)
{
df <- rename(df, "varx" = all_of(var1), "vary" = all_of(var2))
# replace variable vname by the binning variable
if(is.numeric(df$varx))
{
df <- df %>%
mutate(varx = ntile(varx, 5))
}
if(is.numeric(df$vary))
{
df <- df %>%
mutate(vary = ntile(vary, 5),
vary = factor(vary))
}
df %>%
group_by(??) %>%
summarize(exp = ??,
nb_claims = ??,
freq = ??,
.groups = "drop") %>%
ggplot(aes(x = ??,
y = ??,
colour = ??,
group = vary),
alpha = 0.3) +
geom_point() + geom_line() + theme_bw() +
labs(x = var1, y = "Frequence", colour = var2)
}
`
``
:::
# Informations de session {.unnumbered}
```{r}
sessionInfo()
```
# Références

File diff suppressed because one or more lines are too long

Binary file not shown.