Skip to content

Commit 8283ef2

Browse files
committed
First experiments
1 parent b5b20ed commit 8283ef2

File tree

4 files changed

+92
-0
lines changed

4 files changed

+92
-0
lines changed

.project

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
'srcDirectory' : ''
3+
}

.properties

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
#format : #tonel
3+
}
+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
"
2+
[[[
3+
| graph |
4+
graph := #(5 6 5 6 4 2 10 10 10 10 12 12 14 8 5 6 4 2 3 4 5 6) histogram.
5+
graph view canvas open
6+
]]]
7+
"
8+
Class {
9+
#name : #FluDataset,
10+
#superclass : #Object,
11+
#instVars : [
12+
'rawData',
13+
'retrievalTime'
14+
],
15+
#classInstVars : [
16+
'uniqueInstance'
17+
],
18+
#category : #ComputationalDocuments
19+
}
20+
21+
{ #category : #'instance creation' }
22+
FluDataset class >> new [
23+
self error: 'Author is a singleton -- send uniqueInstance instead'
24+
]
25+
26+
{ #category : #'instance creation' }
27+
FluDataset class >> reset [
28+
<script>
29+
^ self uniqueInstance reset.
30+
]
31+
32+
{ #category : #'instance creation' }
33+
FluDataset class >> uniqueInstance [
34+
^ uniqueInstance ifNil: [ uniqueInstance := super new ]
35+
]
36+
37+
{ #category : #accessing }
38+
FluDataset >> asInterpretedDataFrame [
39+
| data |
40+
data := self asRawDataFrame.
41+
data column: 'week'
42+
put: ((data column: 'week') collect:
43+
[ :each | Week year: (each first: 4) asNumber week: (each last: 2) asNumber ]).
44+
#('inc' 'inc_low' 'inc_up' 'inc100' 'inc100_low' 'inc100_up') do:
45+
[ :c | data column: c put: ((data column: c) collect: #asNumber) ].
46+
^ data
47+
48+
]
49+
50+
{ #category : #accessing }
51+
FluDataset >> asRawDataFrame [
52+
| lines data |
53+
lines := rawData lines.
54+
data := DataFrame fromRows: ((lines allButFirst: 2) collect: [ :each | each splitOn: ',' ]).
55+
data columnNames: (lines second splitOn: ',').
56+
^ data
57+
58+
]
59+
60+
{ #category : #accessing }
61+
FluDataset >> extractColumns: names [
62+
| lines columnNames indices data |
63+
lines := rawData lines.
64+
columnNames := lines second splitOn: ','.
65+
indices := names collect: [ :each | columnNames indexOf: each ].
66+
data := Array2D rows: lines size - 2 columns: names size.
67+
(lines allButFirst: 2) withIndexDo:
68+
[ :line :i |
69+
| values |
70+
values := line splitOn: ','.
71+
indices withIndexDo: [ :j :jj | data at: i at: jj put: (values at: j) ] ].
72+
^ data
73+
]
74+
75+
{ #category : #initialization }
76+
FluDataset >> initialize [
77+
rawData := 'http://www.sentiweb.fr/datasets/incidence-PAY-3.csv' asZnUrl retrieveContents.
78+
retrievalTime := DateAndTime now.
79+
]
80+
81+
{ #category : #accessing }
82+
FluDataset >> rawData [
83+
^rawData
84+
85+
]

ComputationalDocuments/package.st

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Package { #name : #ComputationalDocuments }

0 commit comments

Comments
 (0)