[英]Extract rows from a matrix that meet a condition
我想從矩陣中提取行,其中 Mat1 的第 3 列和子集.vector 之間存在重疊。
問題設置:
mat1= data.frame(matrix(nrow=10, ncol =5))
mat1[,2:5] = rnorm(40,0,1)
mat1[,1] = c(1,3,4)
mat1[,3] = c(500,120,7,9,10,11,14,53,12,13)
mat1
subset.vector <- c(500,120, 11, 13, 15)
output:
mat2 = mat1[c(1,2,6,10),]
我希望能夠為具有 1000 行的矩陣執行此操作,而無需指定要單獨提取的行。 我特意設置了subset.vector 來包含一個不在Mat1 中的元素。 我還確保它的尺寸更小。
您可以使用%in%
查看subset.vector
與mat1
的第 3 列匹配的位置,例如:
identical(mat2, mat1[mat1[,3] %in% subset.vector,])
#[1] TRUE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.