[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
相關文章
- 類似資料字典的幾個表
- 精選 | 你必須懂的R語言最新資料包R語言
- R語言資料探勘中的,“迴歸分析”是如何操作的?R語言
- 透視表excel透視表怎麼做 excel的資料透視表怎麼弄Excel
- Excel資料透視表怎麼做 Excel資料透視表技巧Excel
- 【譯文】利用dplyr包進行資料操作
- 《自然》證實:計算機語言更類似人類語言計算機
- e語言 類似eval函式作用的函式
- R語言——雜湊表R語言
- R語言資料分析視訊免費大放送R語言
- R語言批量建立資料框R語言
- 資料分析與R語言01R語言
- R語言資料處理(一)R語言
- r語言資料處理(三)R語言
- R語言資料質量分析R語言
- R語言進行基礎統計分析(一)R語言
- 類似於C語言的printf函式 (轉)C語言函式
- 在狀態列中插入類似進度條的可視控制元件控制元件
- R語言矩陣基礎操作R語言矩陣
- Lasso迴歸及其R語言操作R語言
- 用R語言進行時間序列ARMA模型分析R語言模型
- R語言連線資料庫(MySQL)R語言資料庫MySql
- R語言入門與資料分析R語言
- 【R語言入門】R語言中的變數與基本資料型別R語言變數資料型別
- R語言實戰(1) 資料集的建立R語言
- R語言批量提取excel當中的資料R語言Excel
- 資料庫操作語言DDL資料庫
- R語言-Knitr包的詳細使用說明R語言
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言
- Excel實現動態行轉列(資料透視表)Excel
- 第二篇:R語言資料視覺化之資料塑形技術R語言視覺化
- Excel資料分析入門-資料透視表Excel
- R語言學習-高階資料管理R語言
- R語言:資料輸出至檔案R語言
- R語言資料處理(二)字元分隔R語言字元
- 第五篇:R語言資料視覺化之散點圖R語言視覺化
- 第三篇:R語言資料視覺化之條形圖R語言視覺化
- mysql類似merge的操作MySql