【问题标题】:How can I create a subset a database using multiple conditions?如何使用多个条件创建数据库子集?
【发布时间】:2020-10-22 21:54:39
【问题描述】:

我有一个这样的数据库:

我需要创建一个较小的数据框,其中包含哥伦比亚、哥斯达黎加、萨尔瓦多和洪都拉斯(数据库中还有许多其他国家),C 列中的 sub_region 为空,E 列中的 metro_area 为空,并且来自 L 和 M 列的数据。像这样:

我尝试了以下方法:

COL <- subset(Basetotal, country_region == "Colombia" & sub_region_1 == "", select = c("date","transit_stations_percent_change_from_baseline"))

每个国家都这样,但这太慢了。如何用更少的代码行更有效地解决我的问题?

【问题讨论】:

  • 您好,我已根据您的新编辑更新了我的答案。见下文。

标签: r dataframe subset


【解决方案1】:

试试:

library(tidyverse)

Basetotal %>% 
  filter(
    sub_region_1 == "", 
    metro_area == ""
  ) %>% 
  pivot_wider(
    id_cols = date, 
    names_from = country_region, 
    values_from = c(
      transit_stations_percent_change_from_baseline, 
      workplaces_percent_change_from_baseline
    ) # spreads data from both columns L and M
  )

您可以使用filter() 使用多个条件对您的数据库进行子集化,并使用pivot_wider() 将多个国家/地区数据分布在整个表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 2018-05-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多