J'essaie d'écrire une fonction qui se comporte comme suit, mais cela se révèle très difficile:
[[1]] x y 1 1 a 2 2 b 3 3 c 4 4 d 5 5 e [[2]] x y 1 5 a 2 6 b 3 7 c 4 8 d 5 9 e 6 10 a
3 Réponses :
Essayez quelque chose comme: avec nsplit le nombre de scissions! (nsplit = 1 renvoie 2 dataframes). Cela rendra un dernier dataframe incomplet au cas où les diviseurs de chevauchement ne correspondent pas vraiment dans le Dataframe et émet un avertissement. p> et un avec un avertissement p>
+1 belle réponse des premiers principes --- Je suis aussi [paresseux | stupide] * pour les premiers princes. [* Supprimer le cas échéant] ;-)
@ Gavin Simpson: J'ai posté ma propre réponse avec le flux de travail complet que j'ai à l'esprit. Il y a vraiment une place d'amélioration, mais je pense que cela servira mes besoins pour le moment. Merci pour toutes ces suggestions!
@Joris meys comment allez-vous continuer à ne pas inclure les dataframes qui se chevauchent "incomplets" (c'est-à-dire aller un pas plus loin après un avertissement)
Ceci utilise l'idée de bardeaux des graphiques de treillis et permet de tirer ainsi des titres du code de l'emballage I WASN ' t exactement sûr de ce que l'on entend par qui donne: p> de réseau code> pour générer les intervalles, puis utilise une boucle pour casser le DF d'origine dans les sous-ensembles appropriés.
chevauchements = 1 code> - je présume que vous vouliez avoir un chevauchement de 1 échantillon / observation. Si tel est le cas, le code ci-dessous cela. P>
Soyez juste prudent avec la définition de chevauchement code>;
Co.Intervals () Code> veut la fraction de chevauchement pas le nombre absolu de chevauchement des échantillons, donc il pourrait donc y avoir une question à distance dans certaines situations. Si cela se produit et que vous obtenez un ou plusieurs chevauchements supplémentaires que vous le souhaitez
+1 woo-ouais! jamais pensé à pirater le réseau de piratation pour le faire pour moi. Joli
Juste pour préciser ce que je fais ici: de cette manière, vous pouvez remplacer Bien sûr, il y a maintenant la question de l'optimisation de la scission / de chevauchement, compte tenu du nombre de processeurs et de la taille de votre ensemble de données. P> P> nul code> à la fin par une version parallèle de la version parallèle et augmenter votre vitesse quelque peu. P>
Cette fonction existe donc ou vous ne savez pas comment gérer les cas de bord?
@Chase La fonction n'existe pas. Si je reçois un codé de codé une version de travail (toutefois inélégant), je le posterai.
@Zach est ce Q APROPOS I> Votre précédent Q? Stackoverflow.com/q/5652058/429846
@Gavin Simpson: Oui, cette question est basée sur mon précédent. Fondamentalement, j'essaie de développer un moyen de paralleraliser la fonction
rollApply code>. Peut-être que je devrais juste demander la question directement?
Remarque 100% sûr que cela va vous aider à y aller alors, vous souhaitez probablement casser les données dans les tailles du morceau que vous souhaitez,
1:31 code>,
2:32 code> etc. et etc. les sur vos nœuds - ce que @joris et moi avons fait est divisé les données des sections qui se chevauchent égales et que ce n'est pas vraiment ce que votre
rollApply () code> le code faisait.
@ GAVIN SIMPSON: L'idée est de minimiser la quantité de données que je ressends à mes morceaux, puis exécutez RollApply sur chaque morceau. Par exemple, plutôt que de scinder mes données
1:31 CODE> ... sur
100: 131 CODE> Il peut avoir plus de sens à la diviser
1:81 code> et
50: 131 code>.
@Zach - Je suis avec toi maintenant. Quelle est la taille de votre ensemble de données que vous auriez besoin de le faire et de vérifier de manière importante que cela fonctionne, après l'accélération, j'ai montré à l'aide de
lm.fit () code>? Problème intéressant cependant.
@Gavin Simpson: Pour le jeu de données que j'ai actuellement, le code LM.FIT () que vous avez écrit fonctionne bien et qu'il y a peu de besoin de parallélisation. Le problème est que, à l'avenir, j'utilise
GLM code>,
GLMNET code> ou d'autres algorithmiques si je constate qu'il donne de meilleurs résultats prédictifs. Par conséquent, j'essaie de trouver un moyen de paralleraliser l'analyse.
@Gavin Simpson: J'ai aussi posé cette question il y a un moment, ce que vous pouvez voir, c'est faire
1:31 code>
2:32 code> splits adapté à l'agriculture comme vous l'avez décrit. Stackoverflow.com/Questtions/5543387/...
Pensez à propos du vecteur des indices que vous utiliseriez pour sous-ensemble chaque cadre de données - il ne devrait s'agir que de quelques lignes de code