Как обобщить данные в RStudio с помощью функций группы dplyr?

#r #dplyr

Вопрос:

У меня есть набор данных, состоящий из почтовых индексов, местных органов власти и средних скоростей широкополосной связи. Я пытаюсь использовать RStudio и dplyr для подсчета количества почтовых индексов в каждом местном органе со средней скоростью широкополосной связи не менее 10 Мбит в секунду. Мои данные выглядят так:

Почтовый индекс LA Срединный
IP300AT Баберг 0.2
GU344EA Восточный Гемпшир 0.2

Я использовал следующий код, чтобы попытаться сделать это:

 Broadband %>% group_by(LA) %>% count(LA, Median=">10") %>% View()
 

Но это не сработало, какой код я должен использовать? Спасибо!

Ответ №1:

Мы можем использовать

 library(dplyr)
result <- Broadband %>%
             group_by(LA) %>% 
             filter(Median >=10) %>%
             summarise(count = n())
 

Ответ №2:

Используйте sum для выполнения подсчета.

 library(dplyr)

result <- Broadband %>% group_by(LA) %>% summarise(count = sum(Median >= 10))
 

В базе R и data.table

 #data.table
library(data.table)
setDT(df)[, .(count = sum(Median >= 10)), LA]

#Base R
aggregate(Median~LA, Broadband, function(x) sum(x >= 10))
 

Комментарии:

1. Большое спасибо! Один последующий вопрос: какой код я бы использовал, если бы хотел определить общее количество почтовых кодов в каждом LA, сколько из них имели скорость более 10 Мбит, и сколько это пропорционально общему количеству почтовых кодов в каждом LA?

2. В каждом почтовом индексе есть только одна строка? Вы можете попробовать — result <- Broadband %>% group_by(LA) %>% summarise(count = sum(Median >= 10), total = n(), proportion = mean(Median >= 10))

3. Потрясающе, еще раз большое спасибо, я действительно ценю вашу помощь.