我有城镇(从A到D),它们有不同的人口,并且距离不同.目标是将居住在半径圆(XY距离)内的总人口加起来,其中X是圆圈中心的城镇,Y是任何其他城镇.
在这段代码中:
Df <- structure(list(Town_From = c("A", "A", "A", "B", "B", "C"), Town_To = c("B",
"C", "D", "C", "D", "D"), Distance = c(10, 5, 18, 17, 20, 21)), .Names = c("Town_From",
"Town_To", "Distance"), row.names = c(NA, -6L), class = "data.frame")
Df2 <- structure(list(Town = c("A", "B", "C", "D"), Population = c(1000,
800, 500, 200)), .Names = c("Town", "Population"), row.names = c(NA,
-4L), class = "data.frame")
Df <- Df %>% left_join(Df2,by=c("Town_From"="Town")) %>%
left_join(Df2,by=c("Town_To"="Town"))%>%
group_by(Town_From) %>%
arrange(Distance)
colnames(Df)[4]<-c("pop_TF")
colnames(Df)[5]<-c("pop_TT")
Source: local data …Run Code Online (Sandbox Code Playgroud) 我的问题正是这个:
但我希望在 ggplot 中实现公认的答案(如下)。是否可以?
首先我创建一些数据。在这里,我创建了一个 list ,有 5 个 data.frame,有不同的 xs:
ll <- lapply(1:5,function(i)
data.frame(x=seq(i,length.out=10,by=i),y=rnorm(10)))
Run Code Online (Sandbox Code Playgroud)
然后应用大约,我创建了一个包含所有数据的大 data.frame:
big.df <- do.call(rbind,ll)
Run Code Online (Sandbox Code Playgroud)
然后,我绘制线性近似和我所有的系列:
plot(approx(big.df$x,big.df$y),type='l')
lapply(seq_along(ll),
function(i) points(ll[[i]]$x,ll[[i]]$y,col=i))
Run Code Online (Sandbox Code Playgroud)
编辑
我的数据结构(例如,实际 DF 包含 183000 行)
structure(list(timeseries = c(1, 7, 59, 0, 0, 5, 0, 0, 1, 0),
t = c(1, 3, 7, 1, 3, 7, 1, 3, 7, 1)), .Names = c("timeseries",
Run Code Online (Sandbox Code Playgroud)
"t"), row.names = c(NA, 10L), class = "data.frame")
我正在尝试准备插图以提供不丹地理位置的参考。我想要一张填满盒子的地图,其中印度、中国、孟加拉国的一部分是可见的,而不是整个亚洲大陆。
我正在使用以下代码:
library(tmap); library(tidyverse)
data("World")
Asia<-World%>%filter(continent %in% c("Asia"))
Asia$isBhutan <- ifelse(Asia$name=="Bhutan", "darkorange", "grey")
tm_shape(Asia)+tm_fill("isBhutan")+tm_polygons()
Run Code Online (Sandbox Code Playgroud)
我希望缩放和裁剪这张地图,使不丹更显眼。印度、中国、孟加拉国、尼泊尔是不丹位置的足够参考。我希望地图填满方框,将不丹留在中间。
谢谢你。