首页 > 解决方案 > 在 R 中跨多个时间段查找公共 ID 变量

问题描述

我正在使用用户生成的数据集,我想要实现的是过滤出现在数据集中所有时间段中的用户标识符,而忽略可能只出现在某些但不是所有时间段中的用户标识符。

这是一个包含一列用户标识符和 4 个时间段的模拟数据框;2018:2021:-

df<-structure(list(userid = c("6ea71ca1-2f64-4128-9492-798b2200b125", 
                          "9796a690-99a7-42d5-81cf-562e54344929", "df10109d-931e-436d-a43f-68e2f5184041", 
                          "f480b927-fa10-484b-b2bd-c8ddce444d33", "db7bbcae-1e8c-4bc5-9f54-380e7253b371", 
                          "844e2171-95ab-4b66-a329-aadc3d22c675", "a57a2227-532c-43cd-8a9c-4f52df424449", 
                          "66bdd203-f0b9-4bad-bbda-b4d0a27bd074", "3ad5d9d6-7878-4e52-b773-d9c83208b28d", 
                          "be9472eb-b3bc-410c-9556-b9199aea9841", "9d3aa840-68ae-4b14-a46d-3b3b33e41c3c", 
                          "21492e09-25cf-4073-afc4-beed67b1b261", "f86bffa4-b243-4936-ae9e-e5d2a6e97865", 
                          "a2ef4372-0bad-4d98-964c-4e832256a55e", "90a1725b-5f74-4802-9748-a89faba0e953", 
                          "60d7b253-cd4b-4467-9ae2-b5c92768fc4f", "c860c950-acb6-4e6d-b82c-95873521b7a9", 
                          "15c14405-0137-4ee4-813a-9153e1526525", "d51f13cd-39a0-45da-8f44-3782188b7812", 
                          "ceb9d5ce-ee45-4cbf-a22c-92bca0d21183", "4172477f-5025-4be4-b10b-67d536a995df", 
                          "661eb39d-527a-4c1e-b26c-854546d03926", "069242ac-bb94-45ba-9788-7c6aee6d8e4f", 
                          "86e17b36-05fb-4373-9306-9c48369f0a9f", "c4d1d472-d13f-43c4-b032-7ffde55e982c", 
                          "48ec5b83-75ea-447c-b37f-2214650e8bcc", "caae2f6a-65bb-4000-8cc9-07813d6a3aa8", 
                          "ffc78dca-7baf-47b8-8ce1-fe1e39f0b29e", "231b256a-93e8-41f0-a5ea-765b96d57f08", 
                          "de8479e7-ee5f-4269-80c9-fa9ffd23325e", "60d111e1-f322-438d-821e-6d96efafc299", 
                          "39f922b6-e3bf-4af0-bc93-05a7002da89b", "c103fc73-4a17-4965-9665-ca354d1c2d3d", 
                          "e0ed5f6b-e34a-4901-8459-9c7d991f13cf", "f9ebd08b-0b7b-4cb8-83cf-7d1cfe19a04f", 
                          "07c85933-ecb0-42c3-a833-aa73352f84a7", "f7e2459a-fb9c-4474-b80a-ca326d2e08c6", 
                          "a1b20795-6a05-4d21-b8de-87c6a9015ea4", "e1834555-c77e-4ffa-9f7a-2cb21583a46c", 
                          "9b5f4b90-87d2-4d20-87fe-7eac5b04a164", "3596a8f2-0306-4368-9919-0371bb065fe0", 
                          "f8c33cc0-2fc6-421f-a443-0fc2236f446e", "44e0ef75-40d4-42ab-8195-350c6b93c61c", 
                          "8e71f801-d2ec-4ba0-85a1-540cccacedaa", "7701fbab-2c8d-4568-b284-eb05f30a5916", 
                          "3238dceb-fda8-42ec-aa90-b44b47237ebe", "635754c4-4b8f-427f-b27b-810f09f6cfc2", 
                          "6afb7c5f-c668-40cc-841c-6b58eef6f2c5", "fb467e66-5958-430a-9531-d79a10d08804", 
                          "789410f1-4013-499a-a063-b816b926226d", "634131a6-2aea-4f9f-aed0-8374e7b0d5ae", 
                          "7b7a402b-cbdd-439b-85eb-5067541bf10c", "b2d983e1-f06d-4e9b-8db9-f8c472349250", 
                          "133818f0-7f36-41dc-b10e-f71d64e4df89", "5e80579b-3d2a-4ab1-bcc9-d62cb946b74d", 
                          "9d3eb1e7-3d36-4d88-94b1-76c20c1ebaf6", "cc6749f3-b209-4a4b-a4cb-0912f9833a20", 
                          "58498183-9dfb-4251-ac75-82dbb6969470", "75f62559-fe2c-420f-b77c-782e22cf3ff2", 
                          "318866d8-7b2f-407c-a68c-ba922216517c", "02cfa2a6-aef7-48bf-adfd-fc272c9e5195", 
                          "2c31c68f-2e39-4ee2-92a1-4cc46da023e5", "06f973ff-25fd-4f40-b051-f8605a1e2047", 
                          "4617667c-7248-4226-874d-8f4083a35717", "c2630e9e-eb0d-4285-b7f3-18336025e729", 
                          "e6fe11f9-ea28-4b90-93b9-e65417e65972", "0db213cd-5456-40f3-9dda-acd7752c4ec1", 
                          "dee724be-f213-4076-9ecb-44e9efd21196", "51bb1eca-90b2-4a2c-9863-f2ca12f5daf0", 
                          "ec3b20a3-c5d4-4895-9f0d-3a9621abcdac", "c860c950-acb6-4e6d-b82c-95873521b7a9", 
                          "ffc78dca-7baf-47b8-8ce1-fe1e39f0b29e", "b5cdcaff-e427-4c62-9c3a-a2645d74b3cc", 
                          "df10109d-931e-436d-a43f-68e2f5184041", "a1b20795-6a05-4d21-b8de-87c6a9015ea4", 
                          "e0ed5f6b-e34a-4901-8459-9c7d991f13cf", "60d111e1-f322-438d-821e-6d96efafc299", 
                          "faa91fba-ffda-4626-a657-f3e548a41f49", "60d7b253-cd4b-4467-9ae2-b5c92768fc4f", 
                          "ed10b4a3-0988-447d-ac84-cecb4268c1dd", "7b7a402b-cbdd-439b-85eb-5067541bf10c", 
                          "caa4a886-5e81-4a1f-88f5-64810721f168", "db7bbcae-1e8c-4bc5-9f54-380e7253b371", 
                          "8e223a93-003e-44b5-86af-156ae1cc6a29", "c193750c-14c0-4f24-940f-c454cae6b60c", 
                          "318866d8-7b2f-407c-a68c-ba922216517c", "4172477f-5025-4be4-b10b-67d536a995df", 
                          "231b256a-93e8-41f0-a5ea-765b96d57f08", "c2630e9e-eb0d-4285-b7f3-18336025e729", 
                          "5a85931d-71fb-4d2d-b5cd-1a4bc6229efd", "86e17b36-05fb-4373-9306-9c48369f0a9f", 
                          "48ec5b83-75ea-447c-b37f-2214650e8bcc", "ceb9d5ce-ee45-4cbf-a22c-92bca0d21183", 
                          "5eb45e50-b5e5-4a30-b332-b8538195fbcf", "9796a690-99a7-42d5-81cf-562e54344929", 
                          "789410f1-4013-499a-a063-b816b926226d", "bb5c7adb-6f16-4478-a181-b7243d290907", 
                          "8e71f801-d2ec-4ba0-85a1-540cccacedaa", "5a5c1da8-04aa-4006-991c-2f8c93af12c5", 
                          "2bfaa762-8d0a-4b86-92d5-2f785c4b9116", "5d47e15d-1c48-4673-a04d-d97f496c4281", 
                          "d51f13cd-39a0-45da-8f44-3782188b7812", "c15aa682-5d33-46f9-a2a6-66398fe00826", 
                          "ec3b20a3-c5d4-4895-9f0d-3a9621abcdac", "3ad5d9d6-7878-4e52-b773-d9c83208b28d", 
                          "7701fbab-2c8d-4568-b284-eb05f30a5916", "746d7608-382a-4828-b6b9-d5bc5ec4fe16", 
                          "06f973ff-25fd-4f40-b051-f8605a1e2047", "b2d983e1-f06d-4e9b-8db9-f8c472349250", 
                          "7d1adde9-7cd1-4830-8053-2d08bb6de9cc", "51bb1eca-90b2-4a2c-9863-f2ca12f5daf0", 
                          "634131a6-2aea-4f9f-aed0-8374e7b0d5ae", "88925782-a1b3-4a46-9431-51779ae177a0", 
                          "2f7c3770-7e2c-4e8e-85d9-838adf8405b2", "c103fc73-4a17-4965-9665-ca354d1c2d3d", 
                          "90a5fcf8-7930-4cf2-b671-e74f53775ace", "63014506-3a77-4caa-92b5-ca59a2858b27", 
                          "75f62559-fe2c-420f-b77c-782e22cf3ff2", "9b5f4b90-87d2-4d20-87fe-7eac5b04a164", 
                          "f480b927-fa10-484b-b2bd-c8ddce444d33", "dee724be-f213-4076-9ecb-44e9efd21196", 
                          "9d3aa840-68ae-4b14-a46d-3b3b33e41c3c", "6ea71ca1-2f64-4128-9492-798b2200b125", 
                          "943e5d42-90d5-468c-b874-4999d5986463", "0db213cd-5456-40f3-9dda-acd7752c4ec1", 
                          "caae2f6a-65bb-4000-8cc9-07813d6a3aa8", "069242ac-bb94-45ba-9788-7c6aee6d8e4f", 
                          "07c85933-ecb0-42c3-a833-aa73352f84a7", "e1834555-c77e-4ffa-9f7a-2cb21583a46c", 
                          "15c14405-0137-4ee4-813a-9153e1526525", "f86bffa4-b243-4936-ae9e-e5d2a6e97865", 
                          "e6fe11f9-ea28-4b90-93b9-e65417e65972", "3a7dae9c-3cea-45b9-8de6-7a46b06c3de5", 
                          "f9ebd08b-0b7b-4cb8-83cf-7d1cfe19a04f", "5e80579b-3d2a-4ab1-bcc9-d62cb946b74d", 
                          "4617667c-7248-4226-874d-8f4083a35717", "f7e2459a-fb9c-4474-b80a-ca326d2e08c6", 
                          "e022b827-8a08-41ef-823c-5288c3764445", "44e0ef75-40d4-42ab-8195-350c6b93c61c", 
                          "64d91dbd-f343-4866-b581-8104da9b8400", "661eb39d-527a-4c1e-b26c-854546d03926", 
                          "dcb813c3-b655-438a-b9f1-7a51f792e4a1", "844e2171-95ab-4b66-a329-aadc3d22c675", 
                          "02cfa2a6-aef7-48bf-adfd-fc272c9e5195", "8d3e6356-e551-4b79-8d55-8859e280a429", 
                          "a2ef4372-0bad-4d98-964c-4e832256a55e", "80ecf1c1-f697-4cd5-b682-7abf74b945d3", 
                          "fb467e66-5958-430a-9531-d79a10d08804", "087206f1-ad60-499b-8c5f-476eb3eaa6c5", 
                          "21492e09-25cf-4073-afc4-beed67b1b261", "133818f0-7f36-41dc-b10e-f71d64e4df89", 
                          "58498183-9dfb-4251-ac75-82dbb6969470", "af228ae4-d570-4113-8abc-3d533d9cca2b", 
                          "30edf845-b1d1-4520-b980-0f474dd501db", "635754c4-4b8f-427f-b27b-810f09f6cfc2", 
                          "b2d983e1-f06d-4e9b-8db9-f8c472349250", "661eb39d-527a-4c1e-b26c-854546d03926", 
                          "bb5c7adb-6f16-4478-a181-b7243d290907", "58498183-9dfb-4251-ac75-82dbb6969470", 
                          "de8479e7-ee5f-4269-80c9-fa9ffd23325e", "75f62559-fe2c-420f-b77c-782e22cf3ff2", 
                          "ed10b4a3-0988-447d-ac84-cecb4268c1dd", "7701fbab-2c8d-4568-b284-eb05f30a5916", 
                          "635754c4-4b8f-427f-b27b-810f09f6cfc2", "dcb813c3-b655-438a-b9f1-7a51f792e4a1", 
                          "7b7a402b-cbdd-439b-85eb-5067541bf10c", "f480b927-fa10-484b-b2bd-c8ddce444d33", 
                          "9d3eb1e7-3d36-4d88-94b1-76c20c1ebaf6", "f7e2459a-fb9c-4474-b80a-ca326d2e08c6", 
                          "e1834555-c77e-4ffa-9f7a-2cb21583a46c", "2c31c68f-2e39-4ee2-92a1-4cc46da023e5", 
                          "ffc78dca-7baf-47b8-8ce1-fe1e39f0b29e", "db7bbcae-1e8c-4bc5-9f54-380e7253b371", 
                          "3238dceb-fda8-42ec-aa90-b44b47237ebe", "fb467e66-5958-430a-9531-d79a10d08804", 
                          "88925782-a1b3-4a46-9431-51779ae177a0", "64d91dbd-f343-4866-b581-8104da9b8400", 
                          "be9472eb-b3bc-410c-9556-b9199aea9841", "943e5d42-90d5-468c-b874-4999d5986463", 
                          "5d47e15d-1c48-4673-a04d-d97f496c4281", "231b256a-93e8-41f0-a5ea-765b96d57f08", 
                          "9b5f4b90-87d2-4d20-87fe-7eac5b04a164", "63014506-3a77-4caa-92b5-ca59a2858b27", 
                          "ceb9d5ce-ee45-4cbf-a22c-92bca0d21183", "c103fc73-4a17-4965-9665-ca354d1c2d3d", 
                          "087206f1-ad60-499b-8c5f-476eb3eaa6c5", "8e71f801-d2ec-4ba0-85a1-540cccacedaa", 
                          "0db213cd-5456-40f3-9dda-acd7752c4ec1", "90a5fcf8-7930-4cf2-b671-e74f53775ace", 
                          "2bfaa762-8d0a-4b86-92d5-2f785c4b9116", "a2ef4372-0bad-4d98-964c-4e832256a55e", 
                          "a57a2227-532c-43cd-8a9c-4f52df424449", "ec3b20a3-c5d4-4895-9f0d-3a9621abcdac", 
                          "60d111e1-f322-438d-821e-6d96efafc299", "30edf845-b1d1-4520-b980-0f474dd501db", 
                          "3596a8f2-0306-4368-9919-0371bb065fe0", "90a1725b-5f74-4802-9748-a89faba0e953", 
                          "069242ac-bb94-45ba-9788-7c6aee6d8e4f", "15c14405-0137-4ee4-813a-9153e1526525", 
                          "3ad5d9d6-7878-4e52-b773-d9c83208b28d", "af228ae4-d570-4113-8abc-3d533d9cca2b", 
                          "5a85931d-71fb-4d2d-b5cd-1a4bc6229efd", "7d1adde9-7cd1-4830-8053-2d08bb6de9cc", 
                          "3a7dae9c-3cea-45b9-8de6-7a46b06c3de5", "5a5c1da8-04aa-4006-991c-2f8c93af12c5", 
                          "634131a6-2aea-4f9f-aed0-8374e7b0d5ae", "4617667c-7248-4226-874d-8f4083a35717", 
                          "4172477f-5025-4be4-b10b-67d536a995df", "f9ebd08b-0b7b-4cb8-83cf-7d1cfe19a04f", 
                          "5eb45e50-b5e5-4a30-b332-b8538195fbcf", "133818f0-7f36-41dc-b10e-f71d64e4df89", 
                          "39f922b6-e3bf-4af0-bc93-05a7002da89b", "c15aa682-5d33-46f9-a2a6-66398fe00826", 
                          "d51f13cd-39a0-45da-8f44-3782188b7812", "9796a690-99a7-42d5-81cf-562e54344929", 
                          "5e80579b-3d2a-4ab1-bcc9-d62cb946b74d", "9d3aa840-68ae-4b14-a46d-3b3b33e41c3c", 
                          "b5cdcaff-e427-4c62-9c3a-a2645d74b3cc", "8d3e6356-e551-4b79-8d55-8859e280a429", 
                          "86e17b36-05fb-4373-9306-9c48369f0a9f", "5eb45e50-b5e5-4a30-b332-b8538195fbcf", 
                          "dee724be-f213-4076-9ecb-44e9efd21196", "66bdd203-f0b9-4bad-bbda-b4d0a27bd074", 
                          "f480b927-fa10-484b-b2bd-c8ddce444d33", "5a5c1da8-04aa-4006-991c-2f8c93af12c5", 
                          "3238dceb-fda8-42ec-aa90-b44b47237ebe", "318866d8-7b2f-407c-a68c-ba922216517c", 
                          "8e223a93-003e-44b5-86af-156ae1cc6a29", "02cfa2a6-aef7-48bf-adfd-fc272c9e5195", 
                          "7b7a402b-cbdd-439b-85eb-5067541bf10c", "58498183-9dfb-4251-ac75-82dbb6969470", 
                          "bb5c7adb-6f16-4478-a181-b7243d290907", "6b0cf49b-dc6e-429b-8b63-f8a901f5eba6", 
                          "133818f0-7f36-41dc-b10e-f71d64e4df89", "a57a2227-532c-43cd-8a9c-4f52df424449", 
                          "c15aa682-5d33-46f9-a2a6-66398fe00826", "db7bbcae-1e8c-4bc5-9f54-380e7253b371", 
                          "6ea71ca1-2f64-4128-9492-798b2200b125", "af228ae4-d570-4113-8abc-3d533d9cca2b", 
                          "7d1adde9-7cd1-4830-8053-2d08bb6de9cc", "f7e2459a-fb9c-4474-b80a-ca326d2e08c6", 
                          "231b256a-93e8-41f0-a5ea-765b96d57f08", "e6fe11f9-ea28-4b90-93b9-e65417e65972", 
                          "faa91fba-ffda-4626-a657-f3e548a41f49", "844e2171-95ab-4b66-a329-aadc3d22c675", 
                          "3596a8f2-0306-4368-9919-0371bb065fe0", "9d3eb1e7-3d36-4d88-94b1-76c20c1ebaf6", 
                          "63014506-3a77-4caa-92b5-ca59a2858b27", "4172477f-5025-4be4-b10b-67d536a995df", 
                          "943e5d42-90d5-468c-b874-4999d5986463", "c860c950-acb6-4e6d-b82c-95873521b7a9", 
                          "e1834555-c77e-4ffa-9f7a-2cb21583a46c"), Year = c(2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
                                                                            2018, 2018, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
                                                                            2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
                                                                            2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2021, 2021, 
                                                                            2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 
                                                                            2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 
                                                                            2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021)), row.names = c(NA, 
                                                                                                                                            -252L), class = "data.frame")

我可以想象它会很快实现,但我正在寻找一些指针来实现这一结果。例如,如果我从 2018 年获取用户标识符,我可以提取 2019 年出现的用户标识符。但我不确定如何跨多年执行此操作。任何指针都会很棒:)

标签: rdplyrfiltering

解决方案


这可能是您的解决方案:

library(reshape2)

data_wide <- dcast(df, userid ~ Year, value.var = "Year")
df <- data_wide[complete.cases(data_wide),]

推荐阅读