簡體   English   中英

在R中重塑數據幀

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM