我有第一个向量,例如:x=1:10
,第二个有质数,例如y=c(2,3,5,7)
我希望对矢量x进行排序:可被2整除,可被3整除,依此类推。
因此,输出将如下所示:2 4 6 8 10 3 9 5 7
最佳答案
使用apply
循环和mod
:
unique(unlist(sapply(y, function(i)x[x%%i == 0])))
# [1] 2 4 6 8 10 3 9 5 7
或者使用@zheyuanLi建议的
as.logical
代替==
:unique(unlist(sapply(y, function(i) x[!as.logical(x%%i)])))
使用expand.grid而不是apply的类似方法:
xy <- expand.grid(x, y)
unique(xy[ xy[,1]%%xy[,2] == 0, 1])
关于r - 二等分向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37890342/