我试图计算列表元素中的公共条目数:
temp<-list(element1=c("a","b","c"), element2=c("b","c","d"),
element3=c("d","e","f"), element4=c("a","c","z"))
Run Code Online (Sandbox Code Playgroud)
为了获得元素的所有成对组合之间的重叠,此函数有效:
calculate.overlap.2<-function(y){
pw<-combn(y,2,FUN=function(x)sum(x[[1]]%in%x[[2]]))
names(pw)<-combn(y,2,FUN=function(x)paste(names(x)[[1]],names(x)[[2]],sep="-"))
return(pw)
}
Run Code Online (Sandbox Code Playgroud)
为了获得元素的所有三向组合之间的重叠,此函数有效:
calculate.overlap.3<-function(y){
pw<-combn(y,3,FUN=function(x)sum(x[[1]]%in%x[[2]]&x[[1]]%in%x[[3]]))
names(pw)<-combn(y,3,FUN=function(x) paste(names(x)[[1]],names(x)[[2]],names(x)[[3]],sep="-"))
return(pw)
}
Run Code Online (Sandbox Code Playgroud)
但是从功能内部的数字可以看出,这不是一个优雅的解决方案.
将这两个函数概括为一个非常好,并且函数将每个重叠检查中的元素作为输入.也就是说,输入 number.of.elements.per.comparison=2将等于calculate.overlap.2上面,并且函数的输入number.of.elements.per.comparison=3将与之相同calculate.overlap.3.
我觉得有一个非常优雅的解决方案,但我只是看不到它.
有一个非常好的界面可以通过谷歌地球图像ggmap.例如:
ggmap::get_map(location = c(lon = -95.3632715, lat = 29.7632836),
maptype ="satellite",zoom=20)
Run Code Online (Sandbox Code Playgroud)
将从Google地图/地球返回卫星地图图像.在谷歌地图网站上,如果你再缩放一点,它会切换到街景.从R获得街景图像有类似的方法吗?
似乎有一个API,但找不到类似于ggmapR中的接口的任何东西.