如何基于多列融合或收集数据框?

问题描述 投票:0回答:1

以下是我拥有的数据框的类型和格式的示例

fnum<-c('510-1','510-2','510-3')
refcharge<-c('assault','theft','rape')
refsev<-c('F','F','F')
refclass<-c('B','B','A')
issuedch<-c('assault','robbery','sodomy')
isssev<-c('F','M','F')
issclass<-c('A','A','B')

df<-data.frame(fnum,refcharge,refsev,refclass,issuedch,isssev,issclass)
df

     fnum refcharge refsev refclass issuedch isssev issclass
1 510-1   assault      F        B  assault      F        A
2 510-2     theft      F        B  robbery      M        A
3 510-3      rape      F        A   sodomy      F        B

我希望能够gathermelt将此数据帧设置为更高的数据集,以使其看起来像以下格式。我提供了一个示例,显示fnum 510-2

的样子
fnum chargeoutcome charge Severity Class
510-1  refcharge   assault  F       B
510-1  issuedch    assault  F       A
510-2  refcharge   theft    F       B
510-2  issuedch    robberry M       A
510-3  refcharge   rape     F       A
510-3  issuedch    sodomy   F       B

我使用了melt(df,id=c('fnum','refcharge','issuedch')),但是它没有以我需要的数据帧的格式提供它

r reshape melt
1个回答
0
投票

我们可以使用names_pattern中的pivot_longer

© www.soinside.com 2019 - 2024. All rights reserved.