Platform
Resources
Pricing
Sign in
Get started
Katherine Juarez
Workspace
Fork
Public
By
Katherine Juarez
Edited
Sep 29, 2023
Fork of
CSE 442 Tutorial 1: Observable and Data Wrangling (student version)
•
23 forks
2
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
md
`Here is some Markdown. Edit me! You can add... a new sentence
# Headers of
### different sizes,
* bullet
* points
\`fixed width font\`
1. Ordered
2. Lists,
and more. For reference, here is a [guide to formatting using the Markdown syntax](https://observablehq.com/@jaynel/markdown-summary).`
Insert cell
Insert cell
or using the new Markdown mode of Observable:
Insert cell
Here is some Markdown. Edit me! You can add...
#
Headers of
###
different sizes,
*
bullet
*
points
\`
fixed width font
\`
1.
Ordered
2.
Lists,
and more. For reference, here is a
[
guide to formatting using the Markdown syntax
]
(
https://observablehq.com/@jaynel/markdown-summary
)
.
Insert cell
Insert cell
html
`<h4>Here is some HTML</h4>`
Insert cell
<
h4
>
Here is some HTML
</
h4
>
Insert cell
{
const
course
=
"CSE442"
;
const
message
=
"Welcome to "
+
course
;
return
message
;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
currentWeek
=
2
Insert cell
"There are "
+
(
10
-
currentWeek
)
+
" weeks left in the quarter"
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
442
Insert cell
442
// a number
Insert cell
Insert cell
true
// a boolean
Insert cell
isNaN
(
442
)
// you may use isNaN(a) to check if a is Not-A-Number
Insert cell
(
1
+
Math
.
sqrt
(
5
)
)
/
2
// you can also do math
Insert cell
Math
.
random
(
)
// or generate 'random' numbers
Insert cell
2
<
1
// you can compare things
Insert cell
"A"
<
"a"
// including string comparisons
Insert cell
2
+
2
===
4
// more comparison
Insert cell
2
+
2
!==
"4"
// and more
Insert cell
Insert cell
2
+
2
==
"4"
// double equals
Insert cell
2
+
2
===
"4"
// triple equals
Insert cell
Insert cell
Insert cell
date
=
new
Date
(
)
Insert cell
Insert cell
Insert cell
Insert cell
function
addMe
(
a
,
b
)
{
// function signature: name and input arguments
return
a
+
b
;
// function body, with return statement for output
}
Insert cell
Insert cell
addMe
(
3
,
2
)
Insert cell
addMe
(
'data'
,
' visualization is fun'
)
Insert cell
addMe
(
'💕'
,
'U'
,
'😍'
)
// sorry heart-eyes, extra arguments are ignored
Insert cell
Insert cell
addMe
(
'1'
)
// something from nothing
Insert cell
Insert cell
addMe2
=
(
a
,
b
)
=>
a
+
b
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
arr1
=
[
1
,
2
,
3
,
'hi'
]
// you can initialize an array like this
Insert cell
{
arr1
.
push
(
'Katherine'
)
;
// you can push elements to array, this updates the array content
return
arr1
;
}
Insert cell
Insert cell
Insert cell
arr1
.
map
(
d
=>
d
*
2
)
Insert cell
Insert cell
result
=
arr1
.
filter
(
d
=>
!
isNaN
(
d
)
)
.
map
(
d
=>
d
*
2
)
// keep valid numbers only, then double them
Insert cell
result
.
slice
(
)
.
sort
(
)
// the default sort method is ascending
Insert cell
result
.
slice
(
)
// you can first make a copy of an array, so we don't overwrite earlier values
.
sort
(
(
a
,
b
)
=>
b
-
a
)
// you can define a custom sort comparator; here we sort numbers in descending order
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
object
[
'key'
]
=
'new new Value'
Insert cell
object
[
'newKey'
]
=
'new value'
Insert cell
Object
.
keys
(
object
)
// return an array of property key strings
Insert cell
Object
.
values
(
object
)
// return an array of property values
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
csvText
=
FileAttachment
(
"sample1.csv"
)
.
text
(
)
// loading a text file attached in Observable
Insert cell
dataCSV
=
d3
.
csvParse
(
csvText
)
// if we have the text loaded already, we can use d3.csvParse
Insert cell
csvURL
=
FileAttachment
(
"sample1.csv"
)
.
url
(
)
// you can get the url of a file you attached to Observable with .url()
Insert cell
dataCSV2
=
d3
.
csv
(
csvURL
)
// if we have a URL to a CSV, we can use d3.csv to both load and parse
Insert cell
Insert cell
auto
=
d3
.
csv
(
csvURL
,
d3
.
autoType
)
// can handle numbers and booleans, but not all date formats
Insert cell
manual
=
d3
.
csv
(
csvURL
,
(
{
Name
,
Job
,
date
}
)
=>
(
{
Name
:
Name
,
Job
:
Job
,
'OH Date'
:
new
Date
(
date
)
}
)
)
Insert cell
day
=
manual
[
1
]
[
'OH Date'
]
.
getDay
(
)
Insert cell
Insert cell
Insert cell
FileAttachment
(
"sample2.json"
)
.
text
(
)
Insert cell
dataJSON
=
FileAttachment
(
"sample2.json"
)
.
json
(
)
// load and parse JSON from a file attached in Observable
Insert cell
json_url
=
FileAttachment
(
"sample2.json"
)
.
url
(
)
// we can also get a URL for a file attachment
Insert cell
dataJSON2
=
d3
.
json
(
json_url
)
// loading with url
Insert cell
Insert cell
strJson
=
JSON
.
stringify
(
dataJSON
)
Insert cell
JSON
.
parse
(
strJson
)
Insert cell
Insert cell
Insert cell
Insert cell
// your code goes here
// uncomment cell below to see the solution
Insert cell
Insert cell
Insert cell
// your code goes here
// uncomment cell below to see the solution
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
cars
=
(
await
require
(
'vega-datasets@1'
)
)
[
'cars.json'
]
(
)
Insert cell
Insert cell
printTable
(
cars
.
slice
(
0
,
10
)
)
Insert cell
Insert cell
Insert cell
cars_table
=
aq
.
from
(
cars
)
Insert cell
cars_table
.
view
(
)
Insert cell
Insert cell
// to be filled -- filter only USA.
// op.upper(): Returns the string value converted to upper case.
// op.includes(array, value[, index]): Determines whether an array includes a certain value among its entries, returning true or false as appropriate.
Insert cell
cars_table
.
filter
(
d
=>
op
.
includes
(
op
.
upper
(
d
.
Origin
)
,
'USA'
)
)
.
view
(
)
Insert cell
Insert cell
Insert cell
cars_table
.
filter
(
d
=>
op
.
includes
(
op
.
upper
(
d
.
Origin
)
,
'USA'
)
)
.
orderby
(
'Miles_per_Gallon'
)
.
view
(
)
Insert cell
// to be filled -- filter and get the highest mpg in the USA.
cars_table
.
filter
(
d
=>
op
.
includes
(
op
.
upper
(
d
.
Origin
)
,
'USA'
)
)
.
orderby
(
'Miles_per_Gallon'
)
.
view
(
)
Insert cell
cars_table
.
filter
(
d
=>
op
.
includes
(
op
.
upper
(
d
.
Origin
)
,
'USA'
)
)
.
orderby
(
'Miles_per_Gallon'
)
.
view
(
)
Insert cell
Insert cell
// to be filled -- filter for cars only made from USA, sort in decending order, and select a subset of collumn to show for 5 rows only.
cars_table
.
filter
(
d
=>
op
.
includes
(
op
.
upper
(
d
.
Origin
)
,
'USA'
)
)
.
orderby
(
aq
.
desc
(
'Miles_per_Gallon'
)
)
.
select
(
'Name'
,
'Miles_per_Gallon'
,
'Origin'
)
.
view
(
5
)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// to be filled -- change the unit for the weights
cars_table
.
derive
(
{
Weight_in_kg
:
d
=>
op
.
round
(
0.4536
*
d
.
Weight_in_lbs
)
}
)
.
view
(
10
)
Insert cell
Insert cell
Insert cell
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
currentWeek
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
date
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
addMe
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
addMe2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
arr1
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
result
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
object
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
csvText
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
dataCSV
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
csvURL
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
dataCSV2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
auto
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
manual
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
day
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
dataJSON
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
json_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
dataJSON2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
strJson
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
cars
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
cars_table
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML