如何在R中生成规范展示表格,统计各国唯一类型数及总规模
实现方案
以下提供三种主流场景下的实现方式,均可直接输出规范统计表格:
1. Python(Pandas,适用于本地数据集处理)
通过分组聚合直接计算两个指标,代码如下:
import pandas as pd # 读入你的数据集,此处以示例数据构造为例 df = pd.DataFrame({ "Year": [1900,1901,1902,1903,1900,1904,1901,1902,1903,1904,1905,1910], "Type": [1,1,1,1,2,3,4,4,4,4,4,5], "Country": ["A","A","A","A","B","C","B","B","B","B","B","A"], "Size": [300,359,839,35,1235,75,100,467,2356,6940,34,3424] }) # 分组计算两个指标 result = df.groupby("Country", as_index=False).agg( 唯一Type数量=("Type", "nunique"), 规模总和=("Size", "sum") ) # 输出markdown格式表格,直接复制即可使用 print(result.to_markdown(index=False))
2. R(dplyr,适用于R环境数据分析)
代码如下:
library(dplyr) # 读入数据后执行分组统计 result <- df %>% group_by(Country) %>% summarise( 唯一Type数量 = n_distinct(Type), 规模总和 = sum(Size) ) # 输出markdown格式表格 knitr::kable(result)
3. SQL(适用于数据存储在关系型数据库的场景)
直接执行以下查询语句即可得到结果:
SELECT Country AS 国家, COUNT(DISTINCT Type) AS 唯一Type数量, SUM(Size) AS 规模总和 FROM 你的表名 GROUP BY Country ORDER BY Country;
示例输出结果(基于你提供的测试数据)
| 国家 | 唯一Type数量 | 规模总和 |
|---|---|---|
| A | 2 | 4957 |
| B | 2 | 11132 |
| C | 1 | 75 |
注:你举例提到的A国唯一Type数量为5是完整数据集的结果,上述结果仅基于你给出的12条测试数据计算。
内容的提问来源于stack exchange,提问作者PCRL
相关产品推荐
相关产品推荐

