如何在数据框中仅堆叠一些列? [英] How do I stack only some columns in a data frame?
本文介绍了如何在数据框中仅堆叠一些列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的数据框中有一些数据,格式如下:
A B C V1 V2 V3
1 1 1 x y z
1 1 2 a b c
...
其中A、B、C是系数,组合A、B、C对于每一行都是唯一的。
我需要将一些列转换为系数,以实现如下形式:
A B C V val
1 1 1 V1 x
1 1 1 V2 y
1 1 1 V3 z
1 1 2 V1 a
1 1 2 V2 b
1 1 2 V2 c
...
这似乎既与stack有关,又与xtabs的相反情况有关,但我不知道如何指定只应"堆叠"某些列。
推荐答案
使用reshape2
包
dat <- read.table(text = 'A B C V1 V2 V3
1 1 1 x y z
1 1 2 a b c',header= T)
library(reshape2)
melt(dat,id.vars = c('A','B','C'))
A B C variable value
1 1 1 1 V1 x
2 1 1 2 V1 a
3 1 1 1 V2 y
4 1 1 2 V2 b
5 1 1 1 V3 z
6 1 1 2 V3 c
这篇关于如何在数据框中仅堆叠一些列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文