R 重塑数据帧?

R 重塑数据帧?,r,dataframe,reshape,R,Dataframe,Reshape,我有一个看起来像这样的数据框: X1 variables data 2.6 X2 2.5 X3 2.9 variables data X1 2.6 X2 2.5 X3 2.9 我如何将其重塑为这样的形状: X1 variables data 2.6 X2 2.5 X3 2.9 variabl

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

X1     variables   data
2.6    X2          2.5
       X3          2.9
variables    data
X1           2.6
X2           2.5
X3           2.9
我如何将其重塑为这样的形状:

X1     variables   data
2.6    X2          2.5
       X3          2.9
variables    data
X1           2.6
X2           2.5
X3           2.9

谢谢大家!

您可以使用
数据表中的
melt

  library(data.table)#v1.9.5+
  melt(setDT(df1), id.var='variables', na.rm=TRUE, value.name='data')[
    variable!='data',  variables:= variable][,variable:=NULL][]
  #    variables data
  #1:        X1  2.6
  #2:        X2  2.5
  #3:        X3  2.9
数据
df1您可以使用
melt
from
data.table

  library(data.table)#v1.9.5+
  melt(setDT(df1), id.var='variables', na.rm=TRUE, value.name='data')[
    variable!='data',  variables:= variable][,variable:=NULL][]
  #    variables data
  #1:        X1  2.6
  #2:        X2  2.5
  #3:        X3  2.9
数据
df1您可以使用
melt
from
data.table

  library(data.table)#v1.9.5+
  melt(setDT(df1), id.var='variables', na.rm=TRUE, value.name='data')[
    variable!='data',  variables:= variable][,variable:=NULL][]
  #    variables data
  #1:        X1  2.6
  #2:        X2  2.5
  #3:        X3  2.9
数据
df1您可以使用
melt
from
data.table

  library(data.table)#v1.9.5+
  melt(setDT(df1), id.var='variables', na.rm=TRUE, value.name='data')[
    variable!='data',  variables:= variable][,variable:=NULL][]
  #    variables data
  #1:        X1  2.6
  #2:        X2  2.5
  #3:        X3  2.9
数据
df1
first_row
first_row
first_row
first_row你好!请分享你目前的工作。你好!请分享你目前的工作。你好!请分享你目前的工作。你好!到目前为止,请分享您的工作。当然,它可以被逐字移动,目标是编写一个无需直接引用就可以完成的表达式。OP没有具体说明这一点,尽管它暗示了…:)当然,它可以按字面意思移动,目标是编写一个无需直接引用就可以实现的表达式当然,它可以按字面意思移动,目标是编写一个无需直接引用就可以实现的表达式当然,它可以按字面意思移动,目标是编写一个无需直接引用就可以实现的表达式