收集功能后数据尽可能整齐

Data as tidy as possible after gather function

我正在尝试以尽可能整洁的格式获取数据。

原来是这样的:

applicants_wide <- tibble::tribble(
  ~fiscal_year,          ~job_number,                 ~job_description, ~total_applications, ~Female, ~Male, ~Unknown_Gender, ~Black, ~Hispanic, ~Asian, ~Caucasian, ~American.Indian..Alaskan.Native, ~Filipino, ~Unknown_Ethnicity,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,      20,    31,               3,     25,        18,      1,          6,                                0,         0,                  4,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,     488,   152,               8,    151,       204,    123,         62,                                3,        79,                 26,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,      13,    37,               1,      8,        12,      9,         20,                                0,         0,                  2,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,       9,    38,               1,     21,        14,      3,          7,                                0,         1,                  2,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,      15,    24,               1,      3,         7,      7,         19,                                1,         1,                  2,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,      89,    66,               6,     12,        36,     20,         73,                                0,         6,                 14
  )

然后我使用 dplyr 的 gather 创建了两列:genderethnicity

#Put data in the tidy format
applicants_long <- applicants_wide %>%
  gather(key = "gender", value = "gender_count", -c(8:14, 1:4)) %>% 
  gather(key = "ethnicity", value = "ethnicity_count", -c(1:4, 12:13))

这让我有了这个:

applicants_long
# A tibble: 126 x 8

tibble::tribble(
  ~fiscal_year,          ~job_number,                 ~job_description, ~total_applications,          ~gender, ~gender_count,                        ~ethnicity, ~ethnicity_count,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,                           "Black",               25,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,                           "Black",              151,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,                           "Black",                8,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,                           "Black",               21,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,                           "Black",                3,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,                           "Black",               12,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,                           "Black",               25,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,                           "Black",              151,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,                           "Black",                8,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,                           "Black",               21,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,                           "Black",                3,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,                           "Black",               12,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,                           "Black",               25,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,                           "Black",              151,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,                           "Black",                8,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,                           "Black",               21,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,                           "Black",                3,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,                           "Black",               12,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,                        "Hispanic",               18,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,                        "Hispanic",              204,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,                        "Hispanic",               12,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,                        "Hispanic",               14,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,                        "Hispanic",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,                        "Hispanic",               36,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,                        "Hispanic",               18,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,                        "Hispanic",              204,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,                        "Hispanic",               12,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,                        "Hispanic",               14,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,                        "Hispanic",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,                        "Hispanic",               36,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,                        "Hispanic",               18,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,                        "Hispanic",              204,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,                        "Hispanic",               12,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,                        "Hispanic",               14,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,                        "Hispanic",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,                        "Hispanic",               36,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,                           "Asian",                1,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,                           "Asian",              123,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,                           "Asian",                9,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,                           "Asian",                3,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,                           "Asian",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,                           "Asian",               20,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,                           "Asian",                1,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,                           "Asian",              123,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,                           "Asian",                9,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,                           "Asian",                3,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,                           "Asian",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,                           "Asian",               20,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,                           "Asian",                1,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,                           "Asian",              123,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,                           "Asian",                9,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,                           "Asian",                3,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,                           "Asian",                7,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,                           "Asian",               20,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,                       "Caucasian",                6,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,                       "Caucasian",               62,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,                       "Caucasian",               20,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,                       "Caucasian",                7,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,                       "Caucasian",               19,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,                       "Caucasian",               73,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,                       "Caucasian",                6,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,                       "Caucasian",               62,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,                       "Caucasian",               20,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,                       "Caucasian",                7,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,                       "Caucasian",               19,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,                       "Caucasian",               73,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,                       "Caucasian",                6,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,                       "Caucasian",               62,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,                       "Caucasian",               20,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,                       "Caucasian",                7,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,                       "Caucasian",               19,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,                       "Caucasian",               73,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488, "American.Indian..Alaskan.Native",                3,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15, "American.Indian..Alaskan.Native",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89, "American.Indian..Alaskan.Native",                0,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152, "American.Indian..Alaskan.Native",                3,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24, "American.Indian..Alaskan.Native",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66, "American.Indian..Alaskan.Native",                0,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8, "American.Indian..Alaskan.Native",                3,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1, "American.Indian..Alaskan.Native",                0,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1, "American.Indian..Alaskan.Native",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6, "American.Indian..Alaskan.Native",                0,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,                        "Filipino",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,                        "Filipino",               79,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,                        "Filipino",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,                        "Filipino",                1,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,                        "Filipino",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,                        "Filipino",                6,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,                        "Filipino",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,                        "Filipino",               79,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,                        "Filipino",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,                        "Filipino",                1,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,                        "Filipino",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,                        "Filipino",                6,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,                        "Filipino",                0,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,                        "Filipino",               79,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,                        "Filipino",                0,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,                        "Filipino",                1,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,                        "Filipino",                1,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,                        "Filipino",                6,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,         "Female",            20,               "Unknown_Ethnicity",                4,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,         "Female",           488,               "Unknown_Ethnicity",               26,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,         "Female",            13,               "Unknown_Ethnicity",                2,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,         "Female",             9,               "Unknown_Ethnicity",                2,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,         "Female",            15,               "Unknown_Ethnicity",                2,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,         "Female",            89,               "Unknown_Ethnicity",               14,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54,           "Male",            31,               "Unknown_Ethnicity",                4,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648,           "Male",           152,               "Unknown_Ethnicity",               26,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51,           "Male",            37,               "Unknown_Ethnicity",                2,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48,           "Male",            38,               "Unknown_Ethnicity",                2,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40,           "Male",            24,               "Unknown_Ethnicity",                2,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161,           "Male",            66,               "Unknown_Ethnicity",               14,
   "2013-2014", "9206 OP 2014/04/18",              "311 DIRECTOR 9206",                  54, "Unknown_Gender",             3,               "Unknown_Ethnicity",                4,
   "2013-2014",  "1223 P 2013/08/09",          "ACCOUNTING CLERK 1223",                 648, "Unknown_Gender",             8,               "Unknown_Ethnicity",               26,
   "2013-2014", "7260 OP 2014/02/14",           "AIRPORT MANAGER 7260",                  51, "Unknown_Gender",             1,               "Unknown_Ethnicity",                2,
   "2013-2014",  "3227 P 2013/11/15", "AIRPORT POLICE LIEUTENANT 2013",                  48, "Unknown_Gender",             1,               "Unknown_Ethnicity",                2,
   "2013-2014",  "2400 O 2014/05/02",                  "AQUARIST 2400",                  40, "Unknown_Gender",             1,               "Unknown_Ethnicity",                2,
   "2013-2014",               "1191",                  "ARCHIVIST1191",                 161, "Unknown_Gender",             6,               "Unknown_Ethnicity",               14
  )

但感觉有些不对劲...整齐的数据每行有一个观察结果,这里 gender_countethnicity_count 列连续总结了几个观察结果。

如果我想获取尽可能 tidyest 格式的数据,我是否已尽我所能或是否遗漏了一步?

它很整洁,因为观察值(即 行值 )是不同的,但这并不意味着每个观察值之间的关系是有意义的。问题是原始数据告诉我们,例如,有多少女性和多少黑人申请了,但没有告诉我们有多少黑人女性申请了。这意味着职位描述中每个性别的种族细分将是相同的——例如对于职位描述“311 DIRECTOR 9206”,"Black" 的 "Women"、"Men" 和 "Unknown_Gender" 的计数将为 25。

您可能仍然可以以整洁的格式处理这些数据,但我认为分组、汇总等会不必要地迂回。将数据分成两个整齐的数据框可能更有意义:一个用于性别,一个用于种族。