J'ai une fonction appelée DTW dans un ensemble de mesures de similarité. Il prend deux matrices ou une trame de données comme arguments et renvoie la distance de distorsion temporelle dynamique. Ces trames de données sont les longitudes et les latitudes de la trajectoire. Mon programme ressemble à ceci et toutes les trames de données comme DF1, DF2, DF3, etc. sont disponibles:programmation parallèle pour une fonction prenant deux arguments d'une liste de trames de données en utilisant R
distance <- function(arg1,arg2) {
DTW(arg1, arg2)
}
for(i in 1:length(LIST)){
for(j in 1:length(LIST)){
a <- get(paste0("df",i))
b <- get(paste0("df",j))
ddist[i,j] <- distance(a,b)
print(ddist)
}
}
Je fais une ddist de matrice dans laquelle toutes les valeurs sont insérées retournées par la fonction de la distance. Le programme fonctionne bien. Je veux le faire rapidement en utilisant la programmation parallèle comme la fonction parapply ou parlapply.
Si vous voulez faire cela en parallèle, vous devez le redessiner selon les règles de l'art. Votre utilisation de get est un non-go et ne fonctionnera pas bien en parallèle. Ces data.frames devraient être ensemble dans une liste. Quand vous aurez résolu cela, je vous encouragerai à étudier les vignettes du paquet foreach. – Roland
Ok Roland. Je vais l'étudier. Merci. – umair
@Roland Que diriez-vous de parLappy pr parApply pour la programmation parallèle? – umair