如何找到某些变量的总体

How to find the population for certain variables

我无法在 R 中获得所需的结果,正在寻求帮助。我在下面包含了我的数据。

##       ID        DOB sector meters Oct   Res_FROM     Res_TO   Exp_FROM
## 1  20100 1979-08-24    H38   6400   W 1979-08-15 1991-05-15 1979-08-24
## 2  20101 1980-05-05    B01   1600  NW 1980-05-15 1991-04-15 1980-05-15
## 3  20102 1979-03-17    H04   1600  SW 1972-06-15 1979-08-15 1979-03-17
## 4  20103 1981-11-30    B09   3200  NE 1982-01-15 1984-01-15 1982-01-15
## 5  20103 1981-11-30    B37   8000   N 1984-01-15 1986-04-15 1984-01-15
## 6  20104 1978-09-01    B09   3200  NE 1982-01-15 1984-01-15 1982-01-15

根据这些数据,我想让 R 计算出每个扇区中有多少个 ID。我缩短了我的数据,这样它就不会变得混乱,但是有 100 个扇区。我想知道每个扇区有多少个 ID,例如,我需要一个结果,其中扇区 B01 列出了 x 个 ID,扇区 B02 列出了 x 个 ID,等等。我的总体目标是找到每个部门的个人人口,可以通过 ID 识别。

在基础 R 中 aggregate:

aggregate(ID ~ sector, function(ID) length(unique(ID)), data = df)

  sector ID
1    B01  1
2    B09  2
3    B37  1
4    H04  1
5    H38  1

使用 dplyr 包:

library(dplyr)

df %>% 
  group_by(sector) %>% 
  summarize(count = n_distinct(ID)) %>% 
  ungroup()

  sector count
  <chr>  <int>
1 B01        1
2 B09        2
3 B37        1
4 H04        1
5 H38        1

如果要将此变量添加到数据框中,请使用 mutate 而不是 summarize