Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从行到单个列_R_Reshape - Fatal编程技术网

R 从行到单个列

R 从行到单个列,r,reshape,R,Reshape,有许多文件的数据如下表所示 year Jan Feb Mar ...........Dec 1990 x1 x2 x3 x12 1991 y1 y2 y3 y12 。 . 我想转置每一行,并将它们堆叠为一列,以获得如下时间序列: x1 x2 .. x12 y1 y2 .. y12 z1 . . z12 我已经看过重塑方案,但不清楚它将如何应用于这个问题。 在R中执行此操作的任何想法?也许“重塑2”软件包中的melt()就是您想

有许多文件的数据如下表所示

year Jan Feb Mar ...........Dec
1990 x1  x2   x3           x12    
1991 y1  y2   y3           y12
。 .

我想转置每一行,并将它们堆叠为一列,以获得如下时间序列:

x1
x2


..
x12
y1
y2
..
y12
z1
.
.
z12
我已经看过重塑方案,但不清楚它将如何应用于这个问题。 在R中执行此操作的任何想法?

也许“重塑2”软件包中的
melt()
就是您想要的:

library(reshape2)
DF <- read.table(header = TRUE, text = "Year Jan Feb Mar 
1990 x1  x2   x3     
1991 y1  y2   y3 ")

DF2 <- melt(DF, id.vars="Year")
DF2[order(DF2$Year), ]
#   Year variable value
# 1 1990      Jan    x1
# 3 1990      Feb    x2
# 5 1990      Mar    x3
# 2 1991      Jan    y1
# 4 1991      Feb    y2
# 6 1991      Mar    y3
library(重塑2)
DF也许“重塑2”软件包中的
melt()
就是您想要的:

library(reshape2)
DF <- read.table(header = TRUE, text = "Year Jan Feb Mar 
1990 x1  x2   x3     
1991 y1  y2   y3 ")

DF2 <- melt(DF, id.vars="Year")
DF2[order(DF2$Year), ]
#   Year variable value
# 1 1990      Jan    x1
# 3 1990      Feb    x2
# 5 1990      Mar    x3
# 2 1991      Jan    y1
# 4 1991      Feb    y2
# 6 1991      Mar    y3
library(重塑2)

DF假设您的数据名为
dat
,我建议:

as.vector(t(dat[,-1]))

假设您的数据名为
dat
,我建议:

as.vector(t(dat[,-1]))

嗯,我想把所有的月值都整理好。1990年一月二月三月…十二月然后1991年一月二月三月。。。如问题所述。这是一个时间序列数据,顺序要求对行的转置进行叠加。嗯,我希望所有的月值都按顺序排列。1990年一月二月三月…十二月然后1991年一月二月三月。。。如问题所述。这是一个时间序列数据,顺序要求堆叠行的转置。