如何使用R计算向量中的重复元素

如何使用R计算向量中的重复元素,r,vector,count,find-occurrences,R,Vector,Count,Find Occurrences,我需要编写一个函数,在R中接收2个参数: 第一个数字=X 第二个向量a=V 我需要这个函数返回X的相同直线出现的最大数量 例如: f(6,c(7,6,6,3,7,9,3,6,6,6,8,9) 如果返回3,则可能不需要函数 dat <- c(7,6,6,3,7,9,3,6,6,6,8,9) fmax <- function(x, vec){ v <- rle(vec) max(v$lengths[v$values == x]) } fmax(x=6, vec=dat)

我需要编写一个函数,在R中接收2个参数: 第一个数字=X 第二个向量a=V 我需要这个函数返回X的相同直线出现的最大数量 例如: f(6,c(7,6,6,3,7,9,3,6,6,6,8,9)
如果返回3,则可能不需要函数

dat <- c(7,6,6,3,7,9,3,6,6,6,8,9)

fmax <- function(x, vec){
  v <- rle(vec)
  max(v$lengths[v$values == x])
}
fmax(x=6, vec=dat)
[1] 3

dat
r
max(rle(你的.vector)$length)
应该足够了。我想这会忽略我需要为“running”选择的x关于向量抱歉-我略过了问题,认为您只需要最大长度,而不考虑值。提供的答案包括报告向量中每个值的功能。谢谢!但是,问题是我需要一个通用函数来报告,而不是专门针对数字6或任何特定向量。谢谢!但是,我需要一个假设我需要一个通用函数来实现这一点,而不是专门针对数字6或任何特定向量。这是一个通用函数。相应地更改dat和x以获得所需的输出。我错了吗?如果x不是向量的一部分,如何强制它返回“0”这是你的文本问题的延伸。我应该重新写我的问题吗?
fmax <- function(x, vec){
  if(x %in% vec){
    v <- rle(vec)
    max(v$lengths[v$values == x])
  } else 0
}
fmax(x=20, vec=dat)
[1] 0
r <- numeric()
j <- 0
X <- 6
for(i in 1:length(V){
j <- ifelse(v[i]==X,j+1,0)
r[i] <- j
}

max(r)
a <- c(7,6,6,3,7,9,3,6,6,6,8,9)
b <- rle(a)
b <- data.frame(length=b$lengths, values=b$values)
aggregate(b, by=list(b$values), FUN=max)