使用R下载谷歌趋势数据
我在StackOverflow上找不到类似的问题。如果它在外面,我道歉 我有一个数据帧列表,所有数据帧都有一个日期列和每个日期的值。我想把这个列表合并成一个数据帧,一个数据列,以及每个列表中的值 我有这个:使用R下载谷歌趋势数据,r,list,dataframe,R,List,Dataframe,我在StackOverflow上找不到类似的问题。如果它在外面,我道歉 我有一个数据帧列表,所有数据帧都有一个日期列和每个日期的值。我想把这个列表合并成一个数据帧,一个数据列,以及每个列表中的值 我有这个: > list $IBM Date IBM 1 2012-03-01 98 2 2012-03-02 94 3 2012-03-03 49 4 2012-03-04 48 $AAPL Date AAPL 1 2012-03-01
> list
$IBM
Date IBM
1 2012-03-01 98
2 2012-03-02 94
3 2012-03-03 49
4 2012-03-04 48
$AAPL
Date AAPL
1 2012-03-01 43
2 2012-03-02 38
3 2012-03-03 13
4 2012-03-04 10
$HPQ
Date HPQ
1 2012-03-01 62
2 2012-03-02 67
3 2012-03-03 24
4 2012-03-04 37
我想这样:
Date IBM AAPL HPQ
1 2012-03-01 98 43 62
2 2012-03-02 94 38 67
3 2012-03-03 49 13 24
4 2012-03-04 48 10 37
使用do.call(“cbind”,list)
> do.call("cbind", test)
IBM.Date IBM.IBM AAPL.Date AAPL.AAPL HPQ.Date HPQ.HPQ
1 2012-03-01 98 2012-03-01 43 2012-03-01 62
2 2012-03-02 94 2012-03-02 38 2012-03-02 67
3 2012-03-03 49 2012-03-03 13 2012-03-03 24
4 2012-03-04 48 2012-03-04 10 2012-03-04 37`
这与我想要的非常相似,但是有多个重复的日期列。有办法做到这一点吗?最好在基本包装中
谢谢 如果您的列表如下所示
#sample data
dts<-c("2012-03-01","2012-03-02","2012-03-03","2012-03-04")
dd<-list(
IBM=data.frame(Date=dts, IBM=c(98,94,49,48)),
APPL=data.frame(Date=dts, APPL=c(43,38,13,10)),
HPQ=data.frame(Date=dts, HPQ=c(62,67,24,37))
)
您还可以使用
library(plyr)
中的join\u all(lst)
,谢谢!工作得很好。不知道reduce函数。
Reduce(merge, dd)
# Date IBM APPL HPQ
# 1 2012-03-01 98 43 62
# 2 2012-03-02 94 38 67
# 3 2012-03-03 49 13 24
# 4 2012-03-04 48 10 37