如何在R中将DataFrame转换为按公司统计位置数量的表格?
按Company统计Location数量的实现方法
可以通过tidyverse工具包中的dplyr和tidyr函数快速实现需求,具体步骤如下:
步骤1:加载依赖包
library(tidyverse)
步骤2:转换数据格式并过滤有效记录
把宽格式的多列Location数据转为长格式,同时过滤掉NA值(无效记录):
location_data_long <- data %>% pivot_longer( cols = starts_with("Location"), # 匹配所有以Location开头的列 names_to = "Location_Type", # 存储原列名的新列名 values_to = "Value" # 存储原列值的新列名 ) %>% filter(!is.na(Value)) # 保留非NA的有效记录
步骤3:按Company汇总计数
分组统计每个Company的有效Location总数:
summary_result <- location_data_long %>% group_by(Company) %>% summarise(Location_Total = n()) %>% ungroup() # 查看结果 print(summary_result)
输出结果:
# A tibble: 4 × 2 Company Location_Total <chr> <int> 1 Google 2 2 NVIDIA 6 3 Microsoft 2 4 Tesla 7
扩展:按Location类型细分统计
如果需要统计每个Company下不同Location类型的数量,可以调整分组逻辑:
detailed_summary <- location_data_long %>% group_by(Company, Location_Type) %>% summarise(Count = n()) %>% ungroup() # 查看细分结果 print(detailed_summary)
输出结果:
# A tibble: 9 × 3 Company Location_Type Count <chr> <chr> <int> 1 Google Location.2 2 2 NVIDIA Location.1 2 3 NVIDIA Location.3 3 4 NVIDIA Location.4.(City.Specified) 1 5 Microsoft Location.1 1 6 Microsoft Location.4.(City.Specified) 1 7 Tesla Location.1 1 8 Tesla Location.2 2 9 Tesla Location.3 2
内容的提问来源于stack exchange,提问作者user16211698
相关产品推荐
相关产品推荐

