首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矢量化数据帧创建?

矢量化数据帧创建?
EN

Stack Overflow用户
提问于 2014-02-12 23:17:25
回答 3查看 75关注 0票数 1

我想要创建一个data.frame (我知道矩阵会更快,但我需要一个data.frame),但是它花费的时间太长(超过30分钟)。我相信有一个比我已经尝试过的更好的方法。

我有一个大对象(好的,在~=100MB ()之前磁盘上没有那么大的read.csv大小),类似于:

代码语言:javascript
复制
           Date    City V3 V4
1    2008-12-30 NewYork 15 54
2    2008-12-31 NewYork 16 34
[...]
4001 2008-12-30 London  12 12
4002 2008-12-31 London  16 44
[...]
9001 2008-12-30 Madrid  26 54
9002 2008-12-31 Madrid  64 23

...imagine许多城市(超过500个)和许多日期(20年的每日数据,但有时是一个不规则的时间序列(即,马德里可能是唯一有观测2001-01-01)的城市)。

我想要的是将它们排列在一个data.frame中,这样行名将是日期,列名和城市名类似:

代码语言:javascript
复制
            NewYorkV3  LondonV3  MadridV3
2008-12-30         15        12        26
2008-12-31         16        16        64

我尝试过的(试图隐藏最终对象的增长)是:

代码语言:javascript
复制
uniqs <- unique(city.data[ ,2])

city.list <- vector('list', length(uniqs))

for (i in 1:length(uniqs)) {
city.list[[i]] <- subset(city.data, City==as.character(uniqs[i]))[ ,3] 
}

city.df <- do.call('cbind', city.list)

我相信有更有效的方法,但这是哪一种?

我可以以xts的形式加载对象吗?多么?我犯了我无法理解的错误..。那么日期列会有相同的值吗?

我能融化和重塑物体吗?多么?(再次出错)

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-12 23:59:01

您也可能对使用data.table和扩展reshape2dcast.data.table感兴趣。

这需要data.table版本1.8.11 (来自R-from)

代码语言:javascript
复制
library(reshape2)
library(data.table)

dcast(x, Date ~ City, value.var = 'V3')
票数 3
EN

Stack Overflow用户

发布于 2014-02-12 23:47:07

reshape对此很有帮助:

代码语言:javascript
复制
reshape(x, direction="wide", timevar="City", idvar="Date")
        Date V3.NewYork V4.NewYork V3.London V4.London V3.Madrid V4.Madrid
1 2008-12-30         15         54        12        12        26        54
2 2008-12-31         16         34        16        44        64        23
票数 2
EN

Stack Overflow用户

发布于 2014-02-13 00:02:59

你们跑得很快。

我在日期栏上遇到了一些问题,但我做到了。

代码语言:javascript
复制
current.city.data$V1 <- as.character(current.city.data$V1)

那时一切都解决了(反正也可以边读边读)

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21742021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档