Skip to content

Instantly share code, notes, and snippets.

@event15
Last active August 29, 2017 05:47
Show Gist options
  • Save event15/d6e87f93e70b67e7d2a35302bdc80d69 to your computer and use it in GitHub Desktop.
Save event15/d6e87f93e70b67e7d2a35302bdc80d69 to your computer and use it in GitHub Desktop.
Lotto
library(networkD3)
# Load data
data(MisLinks)
data(MisNodes)
# name, group, size
# razem z, sprawdzana, wystapienia
name <- c("17", "28", "44", "1")
group <- c("1", "1", "1", "17")
size <- c("96", "95", "88", "21")
pierwszaNodes <- data.frame(name, group, size)
source <- c("0")
target <- c("3")
value <- c("21")
pierwszaLinks <- data.frame(source, target, value)
ValjeanCols <= "#bf3eff"
# Create graph
forceNetwork(Links = pierwszaLinks, Nodes = pierwszaNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", Nodesize = "size", opacity = 0.4,
legend = T, opacityNoHover = T,
linkDistance = JS("function(d){return d.value}"),
linkWidth = JS("function(d) { return Math.sqrt(d.value); }"),zoom = TRUE)
1. Częstość występowania kolejnych liczb we wszystkich losowaniach
2. Rozkład czasowy występowania liczb (jakie liczby padały w ostatnim miesiącu)
3. Rozkład liczb względem sześciu typowanych (jaka liczba padła jako "1" "2" ... "6") - zakres.
4. Najczęściej padająca para (wraz ze wszystkimi innymi parami)
5. Najczęściej padająca trójka
6. Najczęściej padająca czwórka
7. Najczęściej padająca piątka
8. Czy pojawiły się dwie takie same szóstki?
9. Wykres liczb lubiących się
10. Wykres w czasie
11. Wykres w skali (jako liczba pierwsza ..., jako liczba druga ...)
12. Zrobić wykres bąbelkowy, który pokazuje sieć powiązań między liczbami (jaka liczba z jaką się łączy i z jaką siłą - oraz jak często liczba jest wołana) - Wielkość koła (częstość występowania liczby); Grubość połączenia (jak wiele razy jedna liczba łączy się z drugą); Bliskosc połączenia (to samo jak z grubością); kolor - częstość występowania liczby jako pierwsza druga trzecia itp.
library(networkD3)
library(readxl)
# Import datasheet
lotto <- read_excel("Projekty/Lotto/src/LottoManager/Workbook1.xlsx")
print(summary(lotto))
df <- data.frame(lotto)
for (sprawdzana in 1:49) {
for (variable in 1:49) {
ilosc <- 0
if(sprawdzana != variable) {
select <- subset(df, subset = (szosta == sprawdzana
& (
pierwsza == variable |
druga == variable |
trzecia == variable |
czwarta == variable |
piata == variable |
szosta == variable )))
ilosc <- ilosc + nrow(select)
if (ilosc > 0) {
line=paste(sprawdzana, "\t", variable, "\t", ilosc)
write(line,file="szosta",append=TRUE)
}
}
}
}
dupa <- data.frame(oki)
#networkData <- data.frame(src, target)
#print(networkData)
#simpleNetwork(networkData)
library(networkD3)
library(readxl)
# Import datasheet
lotto <- read_excel("Projekty/Lotto/src/LottoManager/Workbook1.xlsx")
#lotto <- t(lotto)
tablica <- list()
wartosc <- 0
razemz <- NULL
grupa <- NULL
wystapienia <- NULL
for(sprawdzana in 1:49) {
for(zwiazana in 1:49) {
liczbaWierszy <- NULL
zbior <- subset(lotto, subset = (pierwsza == sprawdzana) & (
pierwsza == zwiazana |
druga == zwiazana |
trzecia == zwiazana |
czwarta == zwiazana |
piata == zwiazana |
szosta == zwiazana ))
liczbaWierszy <- nrow(zbior)
#print(liczbaWierszy)
if(liczbaWierszy != 0){
#line <- paste(sprawdzana, "\t", zwiazana, "\t", liczbaWierszy)
#write(line, "pierwsza", append = T)
razemz <- c(razemz, zwiazana)
grupa <- c(grupa, sprawdzana)
wystapienia <- c(wystapienia, liczbaWierszy)
}
}
}
##
# Dalsze prace
##
# name, group, size
# razem z, sprawdzana, wystapienia
pierwszaNodes <- data.frame(razemz, grupa, wystapienia)
source <- c("0", "49")
target <- c("48", "97")
value <- c("71", "70")
pierwszaLinks <- data.frame(source, target, value)
# Create graph
forceNetwork(Links = pierwszaLinks, Nodes = pierwszaNodes, Source = "source",
Target = "target", Value = "value", NodeID = "razemz",
Group = "grupa", Nodesize = "wystapienia",
legend = T, opacityNoHover = T,
linkDistance = JS("function(d){return d.value}"),
linkWidth = JS("function(d) { return Math.sqrt(d.value); }"),
arrows = F ,zoom = TRUE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment