R 重新构造数据帧
我在使用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,
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函数重塑
,但我发现它的语法充其量也很混乱