Konkurs ,,okładka” zakończony

This post was kindly contributed by SmarterPoland » R - go there to comment and to read the full post.

1
2
set.seed(1313); sample(1:96, 4, replace=FALSE)
# [1] 85 37 67 46

W ten sposób wybrałem cztery z 96 maili otrzymanych w ramach konkursu okładkowego. Zdecydowałem się na cztery osoby zamiast wcześniej planowanych dwóch, ponieważ i liczba zgłoszeń i wartość zgłaszanych komentarzy znacznie przewyższyła moje oczekiwania. Bardzo dziękuję wszystkim za pomoc!

Wylosowane numerki należały do Dariusza P., Grzegorza S., Dominika M. i Marty M. Wylosowani powinny już otrzymać maila z pytaniem o adres do wysyłki.

Które okładki były wybierane?
Okładka A – 14, B – 15, C – 13, D – 10, E – 12, F – 32 razy.

Okładka F podobała się częściej, ale patrząc na całą pulę głosów zebrała tylko 1/3 wszystkich głosów.
Dużym zaskoczeniem był dla mnie brak jednego faworyta. Byłem przekonany, że osobie maczającej palce w tworzenie okładki trudno na chłodno ocenić, która jest lepsza od której (stąd apel o pomoc) ale, że istnieje ta jedna, która będzie się podobać większości (stąd nadzieja na wyłonienie faworyta w sondażu). To przekonanie zostało zderzone z wynikami eksperymentu.

Do druku wysłany zostanie projekt wykonany na bazie otrzymanych uwag. Mnie się on bardzo podoba, bardziej niż każda z wyjściowych propozycji, mam nadzieję, że i Wam się spodoba.

A na koniec kilka słów o historii, czyli o puchaczu z okładek pierwszego i drugiego wydania. Puchacz pojawia się na okładkach różnych książek o R, np. ,,R Cookbook” wydanego przez O’Reilly trzy lata po premierze ,,Przewodnika…’. Sama grafika z okładki to stereogram. Aby zobaczyć go w trzech wymiarach trzeba rozszczepić wzrok.
Jak zrobić taki stereogram? Oczywiście w R ;-)

Poniżej przepis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
w1 = rnorm(40,0,0.2) 
w2 = rnorm(40,0,0.2)
w3 = rnorm(40,0,0.2)
 
x = w1 - 0.01
y = w2/2 + 0.4
z = 0.5 -w3/ (1 + w1^2 + w2^2)
 
# puchacz z lewej
 
par(mar=c(0,0,0,0))
plot(c(-2,2),c(-0.2,2),type="n",xlab="",ylab="",bty="n",xaxt="n",yaxt="n")
 
xx = seq(-1.2,1.2,0.01)
lines(xx - (1 - xx^2)/25 + 1/50, 1-xx^6      ,lwd=3,col="grey90")
lines(xx - (1 - xx^2)/25 + 1/50, 1-xx^4      ,lwd=3,col="grey50")
lines(xx - (1 - xx^2)/25 + 1/50, 1-abs(xx^3) ,lwd=3,col="grey30")
lines(xx - (1 - xx^2)/25 + 1/50, 1-xx^2      ,lwd=3,col="grey20")
lines(xx - (1 - xx^2)/25 + 1/50, 1-abs(xx)   ,lwd=3,col="grey10")
 
curve(cos(30*x)/20, -0.75, -0.3,add=T, lwd=3,col="red")
curve(cos(30*x)/20, 0.75, 0.3,add=T, lwd=3,col="red")
 
text(0.55,0.35,expression(y==1-abs(x)),srt=-60, col="grey10")
text(0.63 + 0.01,0.47,expression(y==1-x^2),srt=-67, col="grey20")
text(0.9  + 0.02, 0.55,expression(y==1-x^6),srt=-80, col="grey50")
 
xt = x+z/25
 
points(xt,y, pch=19, cex=0.7)
#data.ellipse(x,y,add=T,plot.points=F,levels=c(0.4,0.85), center.cex=0)
 
# puchacz z prawej
 
par(mar=c(0,0,0,0))
plot(c(-2,2),c(-0.2,2),type="n",xlab="",ylab="",bty="n",xaxt="n",yaxt="n")
 
#arrows(-1.5,-0.2,-1.5,2,lwd=3,angle=15, length=0.5)
arrows(-1.5,0,-1.5,2,lwd=3,angle=15, length=0.5)
axis(2,line=-5.3,at=seq(0,1.6,0.02),labels=F,tcl=-0.3)
axis(2,line=-5.3,at=seq(0,1.6,0.1),labels=F,tcl=-0.5)
axis(2,line=-5.3,at=seq(0.2,1.6,0.2),labels=T,tcl=-0.8,las=2,cex.axis=0.8)
 
xx = seq(-1.2,1.2,0.01)
lines(xx + (1 - xx^2)/25 - 1/50, 1-xx^6      ,lwd=3,col="grey90")
lines(xx + (1 - xx^2)/25 - 1/50, 1-xx^4      ,lwd=3,col="grey50")
lines(xx + (1 - xx^2)/25 - 1/50, 1-abs(xx^3) ,lwd=3,col="grey30")
lines(xx + (1 - xx^2)/25 - 1/50, 1-xx^2      ,lwd=3,col="grey20")
lines(xx + (1 - xx^2)/25 - 1/50, 1-abs(xx)   ,lwd=3,col="grey10")
 
curve(cos(30*x)/20, -0.75, -0.3,add=T, lwd=3,col="red")
curve(cos(30*x)/20, 0.75, 0.3,add=T, lwd=3,col="red")
 
text(0.55,0.35,expression(y==1-abs(x)),srt=-60, col="grey10")
text(0.63 - 0.01,0.47,expression(y==1-x^2),srt=-67, col="grey20")
text(0.9  - 0.02, 0.55,expression(y==1-x^6),srt=-80, col="grey50")
 
xt = x-z/25
 
points(xt,y, pch=19, cex=0.7)
#data.ellipse(x,y,add=T,plot.points=F,levels=c(0.4,0.85), center.cex=0)