R 如何比较向量的不同长度?

R 如何比较向量的不同长度?,r,vector,compare,R,Vector,Compare,我有两个向量: A <- 10 10 20 19 24 24 17 18 24 24 24 25 16 16 16 25 25 12 12 12 25 24 24 24 24 2 2 有人知道怎么做吗?这会有帮助吗 res <- tapply(A,rep(seq_along(B), B), FUN=function(x) any(x < 20) & any(x>23))+0L res # 1 2 3 4

我有两个向量:

A <- 10 10 20 19 24 24 17 18 24 24 24 25 16 16 16 25 25 12 12 12 25 24 24 24 24  2  2
有人知道怎么做吗?

这会有帮助吗

res <- tapply(A,rep(seq_along(B), B), FUN=function(x)  any(x < 20) & 
                    any(x>23))+0L
res 
# 1  2  3  4  5  6  7  8  9 10 11 
# 0  1  0  0  0  0  0  0  0  0  0 

d1 <- data.frame(count=res, range=names(res))
head(d1,3)
#   count range
#1     0     1
#2     1     2
#3     0     3
res23]+0L
物件
# 1  2  3  4  5  6  7  8  9 10 11 
# 0  1  0  0  0  0  0  0  0  0  0 

d1在您的比较中,阈值在哪里?它是在另一个向量中,还是以某种方式包含在您已经提供的上述数据中?我确实编辑了我的帖子,以提供我想要的更多信息。是的,阈值是固定的。我已根据示例发布了我的结果。是1。因为这两个阈值在本例中只满足一次。@akrun:是的,完全正确。他们都在20岁以下,但都不在23岁以上。因此,它是0。这似乎对你有用,但在我的情况下,我没有得到1。我的第二行输出只有零:“0 0 0 0 0 0”@FRV我发布了使用的数据。复制/粘贴数据并检查代码是否有效对不起!你完全正确!非常感谢你的帮助@FRV没问题也许您使用了不同的数据集
count: 1     range: 2
res <- tapply(A,rep(seq_along(B), B), FUN=function(x)  any(x < 20) & 
                    any(x>23))+0L
res 
# 1  2  3  4  5  6  7  8  9 10 11 
# 0  1  0  0  0  0  0  0  0  0  0 

d1 <- data.frame(count=res, range=names(res))
head(d1,3)
#   count range
#1     0     1
#2     1     2
#3     0     3
A <- c(10, 10, 20, 19, 24, 24, 17, 18, 24, 24, 24, 25, 16, 16, 16, 
   25, 25, 12, 12, 12, 25, 24, 24, 24, 24, 2, 2)
B <-  c(2, 4, 2, 2, 2, 3, 2, 3, 2, 3, 2)