#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. Потрясающе, еще раз большое спасибо, я действительно ценю вашу помощь.