数据框中的Transpone数据

时间:2015-12-22 08:36:10

标签: r

我有一个看起来像这样的数据集

 playlist nr1     nr2
 1        jam     sequel
 2        monster equal

我现在要做的是现在要转移数据,以便我得到:

  playlist data     
  1        jam     
  1        sequel

谷歌搜索解决方案,但无法找到它。有关如何实现这一目标的任何想法?

3 个答案:

答案 0 :(得分:1)

如果您想坚持使用标准R套餐,请使用reshape():

df <- data.frame(playlist=1:2, 
                 nr1=c('jam', 'monster'), 
                 nr2=c('sequel', 'equal'))
dfnew <- reshape(df, 
                 varying=2:3, 
                 direction='long', 
                 sep='')
dfnew[order(dfnew$playlist), c('playlist', 'nr')]

答案 1 :(得分:0)

使用您的数据构建的数据框

playlist  <- data.frame(nr1=c("jam","monster"),
                        nr2=c("sequel","equal"))

t(playlist) ## transposes the data

这给出了你的要求而不是你的例子说的是什么?

    [,1]     [,2]     
nr1 "jam"    "monster"
nr2 "sequel" "equal" 

答案 2 :(得分:0)

我们可能需要melt

library(reshape2)
 melt(df1, id.var='playlist')[-2]