1. To transform a shapefile or feature class into a TopoJSON or GeoJSON I used the website https://mapshaper.org/ Simply upload your shapefile, export and select TopoJSON or GeoJSON
2. TopoJSON is a file type housing topologic data model while GeoJSON is a spaghetti data model. TopoJSON allows for cleaner lines between boundaries and reduces the chance for slivers and other misalignments.
3. To add a JSON file to observable simply click the open files pane (Paperclip) on the right sidebar of Observable. Click the add files + and select the TopoJSON or GeoJSON files you want to add. To read the TopoJSON you must make the object and include the file attatchment. Then you can use the "feature" to read the contents of the file.
To upload a csv you must open the files pane and add your csv file. The above code csvParse reads the file using d3 and outputs the contents of the file into observable to be read.
If I was using an attribute that needed to be normalized I would have to divide lets say raw cancer rates by population or ten thousand to get a percentage. In order to make a new variable you just need to do the math in the single line of code. Inside the [] after or before the comma you can execute any math you need to do. Make sure that the attribute is being read in the purple {} section
Normalization helps data be more fairly distributed and helps with interpretations. If you only look at raw data of cancer rates, states with larger populations will appear to have more cancer but only because they have more people. Normalization creates a common scale to compare data. ie a percentage or per 10,000 people.