[Rpackage]R語言plyr包使用方法——可進行類似資料透視表的操作
作者:leengsmile
連結:https://www.jianshu.com/p/bfddfe29aa39
來源:簡書
一、使用的資料集
| year| name| percent| sex|
|---------:||---------:||---------:||---------:|
| 1880| John| 0.081541| boy|
| 1880| William| 0.080511| boy|
| 1880| James| 0.050057| boy|
| 1880| Charles| 0.045167| boy|
| 1880| George| 0.043292| boy|
| 1880| Frank| 0.02738| boy|
| 1880| Joseph| 0.022229| boy|
| 1880| Thomas| 0.021401| boy|
該表是美國新生兒的取名彙總表。
二、plyr包函式
1、每年包含的記錄數
record_count <- function(df) {
return(data.frame(count = nrow(df)))
}
ddply(baby_names, # 資料集
.(year), # 分類的標準
record_count # 函式
)
2、男孩、女孩名的各自排名
以2008年的資料為例,男孩名"Jacob"的比例最高,排名應當是第一,"Michael"緊跟其後,排名應當第二,依此類推。對於女孩名,"Emma"排名第一,"Isabella"排名第二,"Emily"排名第三等等。我們希望得到這樣的結果。
對於2008年的資料,可以通過簡單的rank
即可得到,不過要對男孩和女孩分別排序。
baby_names_2008_boy <- subset(baby_names_2008, sex == "boy") # 獲取男孩名
baby_names_2008_boy$rank <- rank(- baby_names_2008_boy$percent) # 排序
head(baby_names_2008_boy) # 檢視
使用ddply函式
ddply(baby_names,
.(year, sex),
transform,
rank = rank(-percent, ties.method = "first")
)
3、排名前100的男孩名與女孩名在當年中的比例
baby_names_top100 <- subset(baby_names, rank <= 100) # 將前100排名的資料篩選出來
baby_names_top100_trend <- ddply(baby_names_top100,
.(year, sex), # 按年和性別分割
summarize, # 彙總資料
trend = sum(percent)) # 彙總方式(求和)
這裡出現一個新的操作函式summarize()
,該函式是對資料做彙總,與transform
不一樣的是,該函式並不追加結果到原始資料,而是產生新的資料集。比如想知道,2008年的男孩名中,排名最高和最低的名字的百分比之差,可以通過如下方式求得:
summarize(baby_names_2008_boy, trend = max(percent) - min(percent))
# 0.010266
相關文章
- 《自然》證實:計算機語言更類似人類語言計算機
- e語言 類似eval函式作用的函式
- 透視表excel透視表怎麼做 excel的資料透視表怎麼弄Excel
- Excel資料透視表怎麼做 Excel資料透視表技巧Excel
- R語言批量建立資料框R語言
- R語言資料質量分析R語言
- R語言進行基礎統計分析(一)R語言
- Lasso迴歸及其R語言操作R語言
- 【R語言入門】R語言中的變數與基本資料型別R語言變數資料型別
- R語言連線資料庫(MySQL)R語言資料庫MySql
- R語言入門與資料分析R語言
- R語言實戰(1) 資料集的建立R語言
- R語言批量提取excel當中的資料R語言Excel
- 用R語言進行時間序列ARMA模型分析R語言模型
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言
- 資料庫操作語言DDL資料庫
- R語言學習-高階資料管理R語言
- Pants:類似Maven但支援多個語言的構建Maven
- R語言kohonen包主要函式介紹R語言函式
- 資料結構c語言實現順序表基本操作資料結構C語言
- SQL資料庫操作語言DCLSQL資料庫
- r語言R語言
- 資料庫學習(二)資料操作語言:資料庫
- Go 語言操作 MySQL 之 SQLX 包GoMySql
- 《R語言入門與資料分析》——向量索引R語言索引
- 【R語言入門】R語言環境搭建R語言
- Meta開源其類似GPT-3的語言模型 - RedditGPT模型
- 基於R語言的raster包讀取遙感影像R語言AST
- 大資料包表如何進行自動化測試大資料
- R 語言使用
- 如何對 ABAP 資料庫表透過 ABAP 程式碼進行更新和刪除操作試讀版資料庫
- 快速入門pandas進行資料探勘資料分析[多維度排序、資料篩選、分組計算、透視表](一)排序
- C語言資料結構(8)--棧 後進先出線性表C語言資料結構
- 值得白嫖的資料庫常用操作語句彙總(資料庫、資料表、資料操作)資料庫
- 全球流行程式語言資料表行程
- 透過Python進行MySQL表資訊統計PythonMySql
- 協同過濾的R語言實現及改進R語言
- python:利用iloc語句對列表的分類變數進行操作Python變數