Je viens de lire le manuel de Benjamin, Modern Data Science avec R. À la page 180, je trouve la fonction utile tally()
similaire à table()
ou une fonction crosstable. Mais je ne peux pas reproduire cette fonction dans mon r.Quelle est la bonne façon d'utiliser la fonction R `tally()` de `tidyverse` par catégorie différente?
L'auteur utilise cette fonction de cette façon tally(income_dtree ~ income, data = train, format = "count")
.
Je simule un exemple, mais échoue.
library(dplyr)
data_frame(
x = rnorm(100),
y = c(rep("A",50),rep("B",50))
) %>%
tally(~y)
Le message d'avertissement est Error in summarise_impl(.data, dots) : Evaluation error: invalid 'type' (language) of argument.
Est-ce que quelqu'un sait comment l'utiliser?
Thx pour @ycw. La réponse est ici.
library(tidyverse)
library(mosaic)
data_frame(
x = rnorm(100),
y = c(rep("A",50),rep("B",50)),
z = c(rep("C",70),rep("D",30)),
) %>%
tally(~ y + z, data = .)
z
y C D
A 50 0
B 20 30
Et les utilisateurs doivent ajouter le data = .
dans le tally()
même ils utilisent des tuyaux.
Merci pour votre réponse. Salut, je sais simple 'tally' et' group_by' & "summarize()'. Je suis juste curieux de savoir comment l'auteur fait de cette façon.Savez-vous comment le reproduire? – Jiaxiang
@Jiaxiang Vous regardez probablement le 'tally 'Fonctionne à partir du paquetage mosaïque, pas du paquet' dplyr' Voir ce lien pour la documentation (https://www.rdocumentation.org/packages/mosaic/versions/1.1.0/topics/tally) – www
Thx, ça marche pour Je trouve même en utilisant des pipes, les utilisateurs doivent ajouter 'data = .' dans le' tally() '. – Jiaxiang