R绘制中国航线分布夜景图
10 天 后
学习了!内容详实,有时间自己照着做一遍试试。
flights.ag <- ddply(worldline, c("AIRPORT_FROM_CODE", "AIRPORT_TO_CODE"),
function(x) count(x$AIRPORT_TO_CODE))
这个是想求每个机场出发的航班数吗?
如果是的话有两点:
(1)新的dplyr无法运作上述函数;
(2)可以通过data.table快速求出。
function(x) count(x$AIRPORT_TO_CODE))
这个是想求每个机场出发的航班数吗?
如果是的话有两点:
(1)新的dplyr无法运作上述函数;
(2)可以通过data.table快速求出。
应该是两个机场间的航线数。可以用下式求出:
worldline = as.data.table(worldline) # > unique(worldline)
flights.ag <- as.data.frame(worldline[, .N, keyby = c("AIRPORT_FROM_CODE", "AIRPORT_TO_CODE")])
worldline = as.data.table(worldline) # > unique(worldline)
flights.ag <- as.data.frame(worldline[, .N, keyby = c("AIRPORT_FROM_CODE", "AIRPORT_TO_CODE")])
航线坐标转换要多长时间啊,电脑太慢了
19 天 后
Error: cannot allocate vector of size 484.9 Mb
4 天 后
先装data.table包,不过他的函数求航班数还是太耗时,我后来没有基于这个修改
1 年 后
你好!绘图那里需要的数据框是gcircle.rg,而文中改进的代码是分开求worldmap.rg,和urbanareas.rg,请问怎么转换成后文的gcircle.rg?
3 个月 后
[未知用户] 同问
1 年 后
感谢作者的辛勤付出。
评论区很多人没有理解作者的意思,作者是用原方法计算了gcircle.rg,改写了另外两个数据集的处理方法。
我附上用作者的方法处理gcircle生成gcircle.rg的代码,仅供参考。
gcircles.mean <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = mean)
gcircles.min <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = min)
gcircles.max <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = max)
gcircles.md <- cbind(gcircles.mean, gcircles.min[, 2], gcircles.max[, 2])
colnames(gcircles.md) <- c("id", "mean", "min", "max")
gcirclest <- join(x = gcircles, y = gcircles.md, by = c("id"))
gcirclest$id.regroup 180) & (gcirclest$min 180), c("id.regroup")] <- 2
gcirclest$group.regroup <- paste(gcirclest$id, gcirclest$id.regroup, sep = ".")
gcircles.rg <- gcirclest
评论区很多人没有理解作者的意思,作者是用原方法计算了gcircle.rg,改写了另外两个数据集的处理方法。
我附上用作者的方法处理gcircle生成gcircle.rg的代码,仅供参考。
gcircles.mean <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = mean)
gcircles.min <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = min)
gcircles.max <- aggregate(x = gcircles[, c("long.recenter")],
by = list(gcircles$id), FUN = max)
gcircles.md <- cbind(gcircles.mean, gcircles.min[, 2], gcircles.max[, 2])
colnames(gcircles.md) <- c("id", "mean", "min", "max")
gcirclest <- join(x = gcircles, y = gcircles.md, by = c("id"))
gcirclest$id.regroup 180) & (gcirclest$min 180), c("id.regroup")] <- 2
gcirclest$group.regroup <- paste(gcirclest$id, gcirclest$id.regroup, sep = ".")
gcircles.rg <- gcirclest
1 年 后
table(gcircles$freq)这一步画不出来?