R 如何重塑数据集

R 如何重塑数据集,r,R,我有两个列,第一个是月份,第二个是这样的值 month windspeed jan 2.5 jan 1.6 jan 4.5 feb 3.6 feb 3.5 feb 1.8 mar 4.2 mar 4.6 mar 3.8 我想以这种方式重塑 jan feb mar 2.5

我有两个列,第一个是月份,第二个是这样的值

month         windspeed
jan            2.5
jan            1.6
jan            4.5
feb            3.6
feb            3.5
feb            1.8
mar            4.2
mar            4.6
mar            3.8
我想以这种方式重塑

jan    feb    mar
2.5    3.6    4.2
1.6    3.5    4.6
4.5    1.8    3.8

需要帮助

您可以从
base R

 unstack(df1, windspeed~month)
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
或者创建一个按“月”分组的序列列,然后使用
dcast

 library(reshape2)
 df2 <- transform(df1, indx=ave(seq_along(month), month, FUN=seq_along))
 dcast(df2, indx~month, value.var='windspeed')[-1]
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
library(重塑2)

df2您可以从
base R
使用
unstack

 unstack(df1, windspeed~month)
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
或者创建一个按“月”分组的序列列,然后使用
dcast

 library(reshape2)
 df2 <- transform(df1, indx=ave(seq_along(month), month, FUN=seq_along))
 dcast(df2, indx~month, value.var='windspeed')[-1]
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
library(重塑2)

df2您可以从
base R
使用
unstack

 unstack(df1, windspeed~month)
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
或者创建一个按“月”分组的序列列,然后使用
dcast

 library(reshape2)
 df2 <- transform(df1, indx=ave(seq_along(month), month, FUN=seq_along))
 dcast(df2, indx~month, value.var='windspeed')[-1]
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
library(重塑2)

df2您可以从
base R
使用
unstack

 unstack(df1, windspeed~month)
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
或者创建一个按“月”分组的序列列,然后使用
dcast

 library(reshape2)
 df2 <- transform(df1, indx=ave(seq_along(month), month, FUN=seq_along))
 dcast(df2, indx~month, value.var='windspeed')[-1]
 #  jan feb mar
 #1 2.5 3.6 4.2
 #2 1.6 3.5 4.6
 #3 4.5 1.8 3.8
library(重塑2)
df2