我有几个清单.他们的数量尚不清楚.
例如(4个列表):
List1 List2 List3 List4
----- ----- ----- -----
1 2 3 4
2 4 8 3
3 8 4 5
4 11 6 1
5 3 7 7
6 9 11 9
Run Code Online (Sandbox Code Playgroud)
我想找到常见的物品.它可以用于MSSQL中的T-SQL.
结果将是这样的:
ResultList : (3, 4)
Run Code Online (Sandbox Code Playgroud)
如何使用Lambda Expression完成?
我在Hive中有两个字符串数组
{'value1','value2','value3'}
{'value1', 'value2'}
Run Code Online (Sandbox Code Playgroud)
我想合并没有重复的数组,结果:
{'value1','value2','value3'}
Run Code Online (Sandbox Code Playgroud)
我怎么能在蜂巢中做到这一点?
我有一个标记个人列表(列标记),它们在河流范围内(LocStart和LocEnd)被捕获了多年(列年份).河上的位置以米为单位.
我想知道一个有标记的人是否使用了多年间的重叠范围,即个人是否每年都去过同一段河段.
以下是原始数据集的示例:
ID
Mark年份LocStartLocEnd
11081199221,72922229
21081199221,20321703
31081200521,50822008
41126199419,22219522
51126199418,81119311
61283200521,75422254
71283200722,02522525
以下是我想要的最终答案:
马克
Year1YEAR2IDs
10811992年20051,3
108119922005年2, 3
1283200520076,7
在这种情况下,个别1126不会在最终输出中,因为可用的唯一两个范围是同一年.我意识到删除Year1 = Year2的所有记录都很容易.
我想在R中执行此操作并查看> IRanges包但未能考虑group = Mark并且能够提取Year1和Year2信息.
我有一个字符串向量,说:
vect<-c("oxidor magnesio","oxido magnesio","oxido calcio", "oxidante","oxido calcio magnesio","magnesio oxido")
Run Code Online (Sandbox Code Playgroud)
我想找到两个词的出现,"oxido"和"magnesio".我正在做的是
intersect(grep("\\boxido\\b",vect),grep("\\bmagnesio\\b",vect))
Run Code Online (Sandbox Code Playgroud)
但,
2和5).命令是什么?谢谢,
我的更新方法中有一个相交:
$inputs = $request->intersect('message','name','email','is_read');
Run Code Online (Sandbox Code Playgroud)
如果我在 is_read=0 处发送更新请求,则 intersect 返回一个空数组。适用于其他任何东西(假,1 等)
有小费吗?
谢谢!
我需要快速识别 Django 1.9 中一组点属于哪些多边形。
第一个选项是循环遍历所有多边形并检查它们包含哪些点:
for countrypolygon in countrypolygons:
placesinthecountry = Place.objects.filter(lnglat__intersects=countrypolygon.geom)
Run Code Online (Sandbox Code Playgroud)
这需要很多时间,因为我需要循环遍历很多多边形。
是否可以做相反的事情,即循环遍历每个点并立即获取包含该点的多边形?
我一直在寻找现有的 R 函数,用于聚合同一图层内共享公共边界的多边形要素(即,生成类似于 ArcGIS 中的“溶解边界”工具的输出)。
我使用 gdal_polygonizeR ( https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/ )从光栅文件创建了一个多边形图层。一些多边形形状由单个栅格单元分隔,因此在形状文件中存储为不同的特征。我想将此类多边形特征组合成单个多边形特征,并创建一个新的形状文件(减少多边形元素的总数),最好具有溶解的阈值距离。
有谁知道 R 中现有的方法可以做到这一点?
更新:我认为解决方案可能涉及aggregate,然后是disaggregate。我目前正在探索这一点,特别注意确保带有孔的多边形要素与父多边形保持关联(请参阅:分割单个 SpatialPolygons 对象的多边形部分)。如果/当我找到解决方案时将再次更新。
我想知道 INTERSECT 和 AND 语句以及 UNION 语句和 OR 语句之间的区别是什么。是否存在建议使用其中之一的特定场景,并且我可以始终使用 OR/AND 而不是 UNION/INTERSECT 吗?
我有一个值向量 (x)。
我想确定它与列表 (y) 中每个集合的重叠长度 - 但不运行循环或 lapply。是否可以?我真的对加速执行很感兴趣。
非常感谢!下面是使用循环实现的示例:
x <- c(1:5)
y <- list(1:5, 2:6, 3:7, 4:8, 5:9, 6:10)
overlaps <- rep(0, length(y))
for (i in seq(length(y))) { #i=1
# overlaps[i] <- length(intersect(x, y[[i]])) # it is slower than %in%
overlaps[i] <- sum(x %in% y[[i]])
}
overlaps
Run Code Online (Sandbox Code Playgroud)
下面是对下面回复中建议的一些方法的比较。正如您所看到的,循环仍然是最快的 - 但我很想找到更快的东西:
# Function with the loop:
myloop <- function(x, y) {
overlaps <- rep(0, length(y))
for (i in seq(length(y))) overlaps[i] <- sum(x %in% y[[i]])
overlaps
}
# Function with sapply: …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种有效的方法来创建一个布尔向量,TRUE如果多个指定变量(例如)中的一个或多个c(1,2,3)在另一个向量(例如)中,则该布尔向量返回c(4,5,6,1)。
在此示例中,所寻求的输出将是TRUE当元素1出现在两个向量中时。
据我所知,%in%一次只允许检查一个变量,并且|在这种情况下,考虑到我需要检查的潜在变量的数量,使用运算符的效率很低。使用intersect()returnlogical(0)而不是FALSE, 和sum(c(1,2,3) == c(4,5,6,1)) > 1returnsFALSE因为公共元素不在同一位置。