Sto provando a tracciare alcuni milioni di punti dati in R. Attualmente sto usando ggplot2 (ma sono aperto a suggerimenti di pacchetti alternativi). Il problema è che il grafico impiega troppo tempo per il rendering (spesso verso l'alto di un minuto). Sto cercando modi per farlo più velocemente - in tempo reale idealmente. Gradirei qualsiasi aiuto - allegando il codice alla domanda per chiarezza.Creazione efficiente di milioni di punti dati in R
Creazione di un (casuale) frame di dati con ~ 500000 punti dati:
letters <- c("A", "B", "C", "D", "E", "F", "G")
myLetters <- sample(x = letters, size = 100000, replace = T)
direction <- c("x", "y", "z")
factor1 <- sample(x = direction, size = 100000, replace = T)
factor2 <- runif(100000, 0, 20)
factor3 <- runif(100000, 0, 100)
decile <- sample(x = 1:10, size = 100000, replace = T)
new.plot.df <- data.frame(letters = myLetters, factor1 = factor1, factor2 = factor2,
factor3 = factor3, decile = decile)
Ora, tracciando i dati:
color.plot <- ggplot(new.plot.df, aes(x = factor3, y = factor2, color = factor1)) +
geom_point(aes(alpha = factor2)) +
facet_grid(decile ~ letters)
Come faccio a fare il rendering più veloce ?
La prima cosa che mi viene in mente sarebbe prendere un sottoinsieme dei dati completi che stai tracciando. Meno punti dovrebbero presumibilmente significare tempi di rendering più veloci. Il trucco è capire come campionare i milioni di punti. –
Grazie Tim. Sto provando diversi metodi di campionamento, ma oltre a percorrere questa strada, c'è un altro modo? –
Le uniche 2 cose che potrebbero essere un'alternativa sarebbe quella di manipolare in qualche modo 'ggplot' per renderlo più veloce, il che richiederebbe competenze che non ho. E l'altra possibilità sarebbe ovviamente quella di ottenere una macchina più veloce, che probabilmente non è un'opzione. –