Частота счета в R - PullRequest
       3

Частота счета в R

1 голос
/ 19 марта 2020

Я хочу, чтобы он отображал таблицу частот общей численности дома c (которая включает Бостон + Солт-Лейк-Сити) и общую частоту международных звонков (Лондон + Шанхай). Но это печатает это так.

table$Category<-c("Domestic","International")
> table
  problem.6.data Freq      Category
1         Boston  136      Domestic
2         London  102 International
3 Salt Lake City  277      Domestic
4       Shanghai  184 International


I want an output of: 

 1. Domestic: 136+277
 2. International: 102+ 184

, поэтому в итоге таблица должна выглядеть следующим образом:

  1. Domesti c: 413
  2. Международный: 286

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 19 марта 2020

Если вы не возражаете против использования tidyverse, вы можете использовать group_by() и summarize():

library(tidyverse)

df <-
    data.frame(
        stringsAsFactors = FALSE,
        problem.6.data = c("Boston", "London", "Salt Lake City", "Shanghai"),
        Freq = c(136L, 102L, 277L, 184L),
        Category = c("Domestic", "International", "Domestic", "International")
    )

df %>% 
    group_by(Category) %>% 
    summarise(sum = sum(Freq))
#> # A tibble: 2 x 2
#>   Category        sum
#>   <chr>         <int>
#> 1 Domestic        413
#> 2 International   286

Создано в 2020-03-19 с помощью пакета Представить (v0.3.0)

1 голос
/ 19 марта 2020

Может быть aggregate из базы R может дать желаемый результат

dfout <- aggregate(Freq ~ Category, df, sum)

, такой что

> dfout
       Category Freq
1      Domestic  413
2 International  286
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...