cómo calcular el porcentaje de un vector de la cuenta

He de datos.marco que se parece a esto:

> dat <- data.frame(Operation = c("Login", "Posted", "Deleted"), `Total Count` = c(5, 25, 40), check.names = FALSE)
> dat
  Operation Total Count
1     Login           5
2    Posted          25
3   Deleted          40

Quiero calcular el porcentaje de cada Operación, por ejemplo, qué porcentaje de las Operaciones fueron Login. Me gustaría esperar un resultado como:

  Operation Total Count Percentage
1     Login           5 0.07142857
2    Posted          25 0.35714286
3   Deleted          40 0.57142857

Desde la cuenta ya resumidos, table() no funciona:

> table(dat$`Total Count`)

 5 25 40 
 1  1  1 
  • Cuando de nuevo en un idioma que usted debe pasar algún tiempo haciendo algunos investigación la primera o tal vez leer el <redactado> manual a familiarizarse con los conceptos básicos antes de hacer una pregunta. Esta pregunta no muestran ningún esfuerzo de investigación. -1
  • He editado esta pregunta a mejorar – es un instrumento útil, aunque sea básica, la pregunta que recibe una gran cantidad de puntos de vista y ocupa una posición alta en los resultados de Google.

3 Kommentare

  1. 18

    Llame a su columna Total.Count en lugar de Total Count; espacios en los nombres no funcionan bien.

    Si usted tiene los datos en una estructura de datos llamada, digamos, my.df:

    my.df$Pct <- my.df$Total.Count / sum(my.df$Total.Count)
    my.df
    ##   Operation Total.Count        Pct
    ## 1     Login           5 0.07142857
    ## 2    Posted          25 0.35714286
    ## 3   Deleted          40 0.57142857
  2. 16

    Puede utilizar la función de prop.table() para calcular los porcentajes (suponiendo que el nombre de la columna es TotalCount).

    df$percent<- prop.table(df$TotalCount)
    
    df
      Operation TotalCount    percent
    1     Login          5 0.07142857
    2    Posted         25 0.35714286
    3   Deleted         40 0.57142857
  3. 5

    Si quieres usar dplyr :

    dat %>% 
      mutate(Percent = TotalCount / sum(TotalCount))

    Tenga en cuenta que he cambiado el nombre de la columna a TotalCount sin espacios.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea