J'ai données format XTS (données) ressemble à ceci:comment utiliser CRPP pour éviter d'utiliser des boucles en r
A
2008-01-14 09:29:59 10
2008-01-14 09:29:59 0.1
2008-01-14 09:30:00 0.9
2008-01-14 09:30:00 0.1
2008-01-14 09:30:00 0.2
2008-01-14 09:30:00 0.4
2008-01-14 09:30:00 0.6
2008-01-14 09:30:00 0.7
2008-01-14 09:30:02 1.5
2008-01-14 09:30:06 0.1
2008-01-14 09:30:06 0.1
2008-01-14 09:30:07 0.9
2008-01-14 09:30:07 0.2
2008-01-14 09:30:10 0.4
2008-01-14 09:30:10 0.3
2008-01-14 09:30:25 1.5
Il n'y a pas de modèle dans tout élément de colonne ou une ligne.
Les données sont indexées par un objet de classe POSIXct. Je crée de nouvelles colonnes appelées '1 seconde', '3 secondes'. Pour la colonne '1 seconde', pour chaque ligne, je veux trouver l'observation suivante dans la prochaine seconde en fonction de leur objet temps xts et enregistrer la valeur 'A' de la ligne. Si aucune observation dans les prochaines secondes, mettre NA dans les données $ 1seconde dans cette rangée.
De même, pour la colonne "3 secondes", pour chaque ligne, je souhaite trouver l'observation principale dans les 3 secondes suivantes en fonction de leur objet temps xts. S'il y a plusieurs lignes avec le même horodatage dans les 3 prochaines secondes, alors utilisez la dernière observation seulement.
Si aucune observation dans les 3 prochaines secondes, mettez NA dans les données $ 3second dans cette rangée. Par exemple, je compte les résultats suivants:
B 1second 3second
2008-01-14 09:29:59 10 0.7 1.5
2008-01-14 09:29:59 0.1 0.7 1.5
2008-01-14 09:30:00 0.9 NA 1.5
2008-01-14 09:30:00 0.1 NA 1.5
2008-01-14 09:30:00 0.2 NA 1.5
2008-01-14 09:30:00 0.4 NA 1.5
2008-01-14 09:30:00 0.6 NA 1.5
2008-01-14 09:30:00 0.7 NA 1.5
2008-01-14 09:30:02 1.5 NA NA
2008-01-14 09:30:06 0.1 0.2 0.2
2008-01-14 09:30:06 0.1 0.2 0.2
2008-01-14 09:30:07 0.9 NA 0.3
2008-01-14 09:30:07 0.2 NA 0.3
2008-01-14 09:30:10 0.4 NA 0.3
2008-01-14 09:30:10 0.3 NA NA
2008-01-14 09:30:25 1.5 NA NA
Voici mon code actuel, cela fonctionne, mais très lent. Je me demande s'il est possible d'utiliser le Rcpp pour éviter d'utiliser la boucle for. Merci beaucoup pour l'aide.
Copie possible de [Comment éviter une boucle pour calculer l'indice de concurrence] (https://stackoverflow.com/questions/42020341/how-to-avoid-a-loop-to-calculate-competition-index) – Mateusz1981