[英]Reshaping an data frame in R
我在R中有一個長格式的數據框,看起來像這樣。
Branch.Name Customer.ID Loan.Type Date Stage Time
A C001 Home 20/11/05 Processing 10
A C001 Home 20/11/05 Approval 30
A C001 Home 20/11/05 Finalize 5
A C002 Business 23/11/05 Processing 30
我想將其轉換為寬格式。
Branch.Name Customer.ID Loan.Type Date Processing Approval Finalize
A C001 Home 20/11/05 10 30 5
B C002 Business 20/11/05 30 10 0
B C003 Business 20/11/05 12 15 0
我看着重塑並融化了,但我弄亂了答案...
提前致謝
PS:並非所有行都有“ Processing”,“ Approval”和“ Finalize”作為階段,有些行可能具有額外的階段
這是一個基本的,從長到寬的轉變。
請嘗試以下方法之一:
## Base R
reshape(mydf, direction = "wide",
idvar = c("Branch.Name", "Customer.ID", "Loan.Type", "Date"),
timevar = "Stage")
## reshape2
library(reshape2)
dcast(mydf, Branch.Name + Customer.ID + Loan.Type + Date ~ Stage, value.var = "Time")
## dcast(mydf, ... ~ Stage, value.var = "Time")
## tidyr
library(tidyr)
spread(mydf, Stage, Time)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.