Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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_Dataframe - Fatal编程技术网

R 重新构造数据帧

R 重新构造数据帧,r,dataframe,R,Dataframe,我在使用R时遇到以下问题: 假设我有以下数据帧: dates <- c("2010-01-01","2010-02-01","2010-03-01","2010-04-01", "2010-02-01","2010-03-01","2010-04-01","2010-05-01", "2010-03-01","2010-04-01","2010-05-01","2010-06-01") data.frame(A=c(1,1,1,1,2,2,2,

我在使用R时遇到以下问题:

假设我有以下数据帧:

dates <- c("2010-01-01","2010-02-01","2010-03-01","2010-04-01",
           "2010-02-01","2010-03-01","2010-04-01","2010-05-01",
           "2010-03-01","2010-04-01","2010-05-01","2010-06-01")

data.frame(A=c(1,1,1,1,2,2,2,2,3,3,3,3),B=dates,C=c(21:32))
我需要在以下结构中转换此日期框:

    "2010-01-01"  "2010-02-01"  "2010-03-01"  "2010-04-01"  "2010-05-01"  "2010-06-01"   
1    21            22            23            24            na            na          
2    na            25            26            27            28            na
3    na            na            29            30            30            31

有什么建议吗?(我刚开始使用R,并尝试了几个小时来解决它;)

您可以使用
restrape2
软件包和
dcast
功能:

library(reshape2)
dcast(dat, A ~ B, value.var='C')

#   A 2010-01-01 2010-02-01 2010-03-01 2010-04-01 2010-05-01 2010-06-01
# 1 1         21         22         23         24         NA         NA
# 2 2         NA         25         26         27         28         NA
# 3 3         NA         NA         29         30         31         32

您也可以使用基本R函数
重塑
,但我发现它的语法充其量也很混乱

您可以使用
reformae2
软件包和
dcast
功能:

library(reshape2)
dcast(dat, A ~ B, value.var='C')

#   A 2010-01-01 2010-02-01 2010-03-01 2010-04-01 2010-05-01 2010-06-01
# 1 1         21         22         23         24         NA         NA
# 2 2         NA         25         26         27         28         NA
# 3 3         NA         NA         29         30         31         32
您也可以使用基本R函数
重塑
,但我发现它的语法充其量也很混乱