Talfördelning på google

Författare: Håkan Kjellerstrand (hakank@bonetmail.com)
Datum: 2003-11-21


Eventuellt finns det kommentarer om detta dokument på min webblogg.

Jonas Söderström är fascinerad av talet 47. Jag blev nyfiken på hur ofta talet 47 egentligen förekommer och gjorde därför en liten undersökning hur talen 0 till 100 google-fördelas, dvs antal träffar på google för respektive tal (per 21 november 2003). I och för sig kan det vara så att talet 47 är kopplat till de viktiga sakerna och fenomenen i tillvaron, det säger förevarande undersökningen ingenting om.

Koden som visas är som vanligt i R.

En fullständig lista av fördelningen finns i denna fil. Här är en bild av fördelningen, där de olika talen finns på x-axeln och antal förekomster på y-axeln:
> nums <- read.table("numbers.dat",sep=":")
> plot(nums$V2,type="l")




Här är talen i rankordning, där bäst rankad visas först (talet 1 rankas högre än 2, 3, osv).
> rev(nums$V1[order(nums$V2)])
  [1]   1   2   3   4  10   0   5   6  11   7   8  12   9  20  15  13  14  30
 [19]  16  18  17  19  21  24  25  22  28  26  27  29  50  31 100  40  39  32
 [37]  35  45  33  36  60  34  37  44  38  42  41  48  55  43  46  49  23  47
 [55]  90  51  99  80  56  54  70  53  59  58  57  98  95  75  64  97  65  61
 [73]  96  72  66  62  69  85  63  68  67  71  88  92  91  81  73  94  76  74
 [91]  93  86  78  82  89  84  79  83  87  52  77


Inte helt förvånande är de låga talen mest frekventa. Möjligen är det lite förvånande att 10 är vanligare än 0, 5 och 6, och att 20 är vanligare än 13 till 19. 100 är rätt vanligt.

Så här ser en log-log plot ut där y-axeln anger antal förekomster och x-axeln är rankordningen för talen (alltså inte själva talen). Jämför med Zipfs lag (se nedan för några referenser).
> power.law(nums$V2)


Slutligen visas en lista vilken rank de respektive talen har. I kolumnen [,1] (mittersta) visas talet, och i högra kolumnen [,2] visas vilken rank respektive tal har. (Den vänstra kolumnen visar radnumret.) T.ex. har talet 0 rank 6 (dvs 0 kommer på 6:e plats), talet 7 har rank 10. Några kommentarer: Talet 47 har rank 54. 23 kommer först på 53 plats. Men varför är det så ont om 52? Lite märkligt med tanke på att det är 52 kort i en kortlek och (cirka) så många veckor på ett år. Och stackars 77.

> xx<-rev(nums$V1[order(nums$V2)])
> t(sapply(0:100, function(i) c(i,(1:101)[xx==i])))
       [,1] [,2]
  [1,]    0    6
  [2,]    1    1
  [3,]    2    2
  [4,]    3    3
  [5,]    4    4
  [6,]    5    7
  [7,]    6    8
  [8,]    7   10
  [9,]    8   11
 [10,]    9   13
 [11,]   10    5
 [12,]   11    9
 [13,]   12   12
 [14,]   13   16
 [15,]   14   17
 [16,]   15   15
 [17,]   16   19
 [18,]   17   21
 [19,]   18   20
 [20,]   19   22
 [21,]   20   14
 [22,]   21   23
 [23,]   22   26
 [24,]   23   53
 [25,]   24   24
 [26,]   25   25
 [27,]   26   28
 [28,]   27   29
 [29,]   28   27
 [30,]   29   30
 [31,]   30   18
 [32,]   31   32
 [33,]   32   36
 [34,]   33   39
 [35,]   34   42
 [36,]   35   37
 [37,]   36   40
 [38,]   37   43
 [39,]   38   45
 [40,]   39   35
 [41,]   40   34
 [42,]   41   47
 [43,]   42   46
 [44,]   43   50
 [45,]   44   44
 [46,]   45   38
 [47,]   46   51
 [48,]   47   54
 [49,]   48   48
 [50,]   49   52
 [51,]   50   31
 [52,]   51   56
 [53,]   52  100
 [54,]   53   62
 [55,]   54   60
 [56,]   55   49
 [57,]   56   59
 [58,]   57   65
 [59,]   58   64
 [60,]   59   63
 [61,]   60   41
 [62,]   61   72
 [63,]   62   76
 [64,]   63   79
 [65,]   64   69
 [66,]   65   71
 [67,]   66   75
 [68,]   67   81
 [69,]   68   80
 [70,]   69   77
 [71,]   70   61
 [72,]   71   82
 [73,]   72   74
 [74,]   73   87
 [75,]   74   90
 [76,]   75   68
 [77,]   76   89
 [78,]   77  101
 [79,]   78   93
 [80,]   79   97
 [81,]   80   58
 [82,]   81   86
 [83,]   82   94
 [84,]   83   98
 [85,]   84   96
 [86,]   85   78
 [87,]   86   92
 [88,]   87   99
 [89,]   88   83
 [90,]   89   95
 [91,]   90   55
 [92,]   91   85
 [93,]   92   84
 [94,]   93   91
 [95,]   94   88
 [96,]   95   67
 [97,]   96   73
 [98,]   97   70
 [99,]   98   66
[100,]   99   57
[101,]  100   33


Se även Mats Anderssons google-projekt om veckodagar, något som jag skrev om för ett tag sedan: Veckodagsnamn på google samt Veckodagsnamn på google - återkomsten.



Referenser

Om Zipf's lag:
references on zipf's law
Zipf, Power-laws, and Pareto - a ranking tutorial

Peter Lindberg tipsade mig senare om två sajter med mycket mer data än mina ynka 101 tal.

The Numbers that Shape our World av Olof Runborg som i september 2000 studerade talen 11 till 1000. Där finns också en referens till Benford's Law. [Åtminstone en av länkarna på Benford-lagens sida är obsolet. Följande länk fungerar i skrivande stund: The Power of One av Robert Matthews, en av mina favoriter.]

The Secret Lives of Numbers har en mycket fräck interaktiv visualisering. Zooma in i ett intervall genom klicka i grafen. Man skriver så här:

Since 1997, we have collected at intervals a novel set of data on the popularity of numbers: by performing a massive automated Internet search on each of the integers from 0 to 1,000,000 and counting the number of pages which contained each, we have obtained a picture of the Internet community's numeric interests and inclinations.

Jag kan också rekommendera ett besök hos Golan Levin som är en av dem bakom ovanstående projekt. Där finns fler visualiseringar och skojiga projekt.


Skapat av Håkan Kjellerstrand
Tillbaka till min hemsida
Tillbaka till min blogg

Last modified: Sat May 2 08:39:01 CEST 2009