Wolfram Language

Un accès plus riche à la base de connaissances

Subventions de la Fondation nationale des sciences

La National Science Foundation (NSF) des États-Unis a octroyé près de 12 000 bourses en 2015. Ici, les subventions, les chercheurs et leurs institutions affiliées sont analysés à l'aide des données disponibles sur www.nsf.gov/awardsearch/download.jsp. Vous pouvez notamment charger un magasin d'entités contenant ces données en tant que ResourceObject, puis explorer la répartition de la taille des subventions, les propriétés quantitatives et qualitatives des propositions et des subventions, ainsi que la dispersion géographique des institutions associées.

Pour commencer, chargez un magasin d'entités contenant les données de la NSF à partir d'un ResourceObject.

In[1]:=
Click for copyable input
nsfStore = ResourceData[ ResourceObject[ Association[ "Name" -> "National Science Foundation Grants - 2015", "UUID" -> "0e9655df-86b6-4e20-bcc9-87365562357b", "ResourceType" -> "DataResource", "Version" -> "1.0.0", "Description" -> "Data on National Science Foundation grants (and \ associated investigators and institutions) awarded in the the year \ 2015.", "ContentSize" -> Quantity[0, "Bytes"], "ContentElements" -> {"EntityStore"}]]]
Out[1]=

Enregistrez le magasin pour cette session.

In[2]:=
Click for copyable input
PrependTo[$EntityStores, nsfStore];

Affichez les propriétés des subventions disponibles en utilisant le type d'entité "NSFGrant" à partir du magasin.

In[3]:=
Click for copyable input
EntityValue["NSFGrant", "Properties"]
Out[3]=

Renvoyez les données relatives à une subvention sélectionnée au hasard.

Afficher l'entrée complète en Wolfram Language
In[4]:=
Click for copyable input
TextGrid[List @@@ (RandomEntity["NSFGrant"]["PropertyAssociation"] // SortBy[#, ByteCount] & // Normal // Take[#, 16] &), Dividers -> All, Background -> {Automatic, {{LightBlue, None}}}] // TraditionalForm
Out[4]//TraditionalForm=

Tracez la répartition de la taille des subventions.

In[5]:=
Click for copyable input
awardAmounts = EntityValue["NSFGrant", "AwardAmount"];
In[6]:=
Click for copyable input
Histogram[awardAmounts, ScalingFunctions -> {Identity, "Log"}, PlotRange -> All, AxesLabel -> Automatic]
Out[6]=

Affichez les détails des trois subventions les plus importantes.

In[7]:=
Click for copyable input
EntityValue[ EntityClass["NSFGrant", "AwardAmount" -> TakeLargest[3]], "Dataset"]
Out[7]=

Examinez le total des subventions accordées pour chaque direction de la NSF.

Afficher l'entrée complète en Wolfram Language
In[8]:=
Click for copyable input
TextGrid[SortBy[{#1, Total[#2[[All, -1]]]} & @@@ Normal[GroupBy[ EntityValue["NSFGrant", {"Directorate", "AwardAmount"}], First]], Last] // DeleteMissing[#, 1, 2] & // Reverse, Alignment -> {{Left, Decimal}, Automatic}, Dividers -> All, Background -> {Automatic, {{LightBlue, None}}}]
Out[8]=

Comparez la répartition des premiers chiffres des montants des subventions à la loi de Benford.

Afficher l'entrée complète en Wolfram Language
In[9]:=
Click for copyable input
With[{$s = QuantityMagnitude[ EntityValue["NSFGrant", EntityProperty["NSFGrant", "AwardAmount"]]]}, ListPlot[{Rest[Sort[Tally[IntegerDigits[#][[1]] & /@ $s]]], Table[{d, Length[$s] Log10[1 + 1/d]}, {d, 9}]}, Filling -> Axis, PlotLegends -> {"NSF grants", "Benford"}]]
Out[9]=

Créez un nuage de mots des mots les plus utilisés dans les subventions en mathématiques, en physique et en chimie.

In[10]:=
Click for copyable input
keywords = EntityValue[EntityClass["NSFGrant", "Division" -> #], "KeywordTally"] & /@ {"Division Of Mathematical Sciences", "Division Of Physics", "Division Of Chemistry"};
In[11]:=
Click for copyable input
Row[WordCloud[ Merge[Association @@ (Rule @@@ #) & /@ DeleteMissing[#], Total]] & /@ keywords]
Out[11]=

Visualisez les subventions de la NSF par montant et par code postal.

Afficher l'entrée complète en Wolfram Language
In[12]:=
Click for copyable input
amountsandinsts = EntityValue[ "NSFGrant", {EntityProperty["NSFGrant", "AwardAmount"], EntityProperty["NSFGrant", "Institution"]}];
In[13]:=
Click for copyable input
amountsinzips = (#[[1, 1]] -> Total[#[[All, -1]]]) & /@ Normal[GroupBy[Transpose[{EntityValue[ amountsandinsts[[All, -1]], EntityProperty["NSFInstitution", "ZIPCode"] ], amountsandinsts[[All, 1]]}], First]][[All, -1]];
In[14]:=
Click for copyable input
GeoRegionValuePlot[SortBy[amountsinzips, Last], ColorFunction -> ColorData["GreenPinkTones"], GeoRange -> Entity["Country", "UnitedStates"], PlotLegends -> Histogram]
Out[14]=

Exemples connexes

de en es ja ko pt-br ru zh