Je suis intéressé s'il y a un package dans R pour prendre en charge la manipulation des données de style de chaîne d'appel, comme dans C # / Linq, F #?
Je veux activer le style comme ceci:
4 Réponses :
Je ne connais pas d'un, mais voici le début de ce qu'il pourrait ressembler à: ceci imprime p> Si vous continuez à utiliser des hacks comme celui-ci, il devrait être assez simple d'obtenir le genre de
Syntaxe que vous trouvez agréable; -) p> EDIT: combinée avec Plyr code>, cela ne devient pas mal du tout: p> (data.frame(
x = c(1, 1, 1, 2, 2, 2),
y = runif(6)
)
%then% subset(y > 0.2)
%then% ddply(.(x), summarize,
ysum = sum(y),
ycount = length(y)
)
%then% print
)
(pas une réponse. Plus un commentaire étendu sur la réponse d'Owen.] La réponse de Owen m'a aidé à comprendre ce que vous étiez après et j'ai beaucoup aimé lire sa réponse perspicace. Ce style "à l'extérieur à l'intérieur" me rappelait un exemple sur l'aide (Réduire) Page Où la fonction FunCall est définie et appliquée successivement:
## Iterative function application: Funcall <- function(f, ...) f(...) ## Compute log(exp(acos(cos(0)) Reduce(Funcall, list(log, exp, acos, cos), 0, right = TRUE)
https://github.com/slycoder/rpipe où code> fonctionner ici ou également pour permettre aux fonctions anonymes d'être transmis, mais hey le code source est là: fourrez-le et ajoutez-le si vous le souhaitez. p> p>
dplyr em> la syntaxe en chaînage ressemble à Linq (exemple de stock):
Veuillez décrire la structure de la nouvelle liste pour ceux qui ne peuvent pas facilement exécuter ce code
Il peut y avoir, bien qu'il soit hors de style r habituel - R est de schéma et tend à utiliser le style fonctionnel
f (x) code> plutôt quex.f code>. Vous pouvez ajouter quelque chose comme ceci sans trop de travail - toutes les opérations de base sont définies, juste sous forme fonctionnelle.