是否可以使用范围在R中创建类似countif的函数?

是否可以使用范围在R中创建类似countif的函数?,r,database,count,R,Database,Count,我已经用一种计算R中条目的方法阅读了这个问题: 我正在寻找一种类似的方法,只是我想计算给定范围内的数据 例如,假设我有以下数据集: data <- data.frame( values = c(1,1.2,1.5,1.7,1.7,2)) datasum(data$values>=1.3和data$valuessum(data$values>=1.3和data$values与@doviod写入类似,您可以使用复合逻辑条件。 我的方法是不同的,我写了一个函数,它以向量和范围为中心点值和距离

我已经用一种计算R中条目的方法阅读了这个问题:

我正在寻找一种类似的方法,只是我想计算给定范围内的数据

例如,假设我有以下数据集:

data <- data.frame( values = c(1,1.2,1.5,1.7,1.7,2))

data
sum(data$values>=1.3和data$values
sum(data$values>=1.3和data$values与@doviod写入类似,您可以使用复合逻辑条件。
我的方法是不同的,我写了一个函数,它以向量和范围为中心点
和距离
增量

在@doviod提出建议后,我设置了一个默认值
delta=0
,这样,如果只传递
value
,函数就会返回

值等于用户提供的值的情况计数。
(doviod在评论中)


countif像@doviod writes一样,可以使用复合逻辑条件。
我的方法是不同的,我写了一个函数,它以向量和范围为中心点
和距离
增量

在@doviod提出建议后,我设置了一个默认值
delta=0
,这样,如果只传递
value
,函数就会返回

值等于用户提供的值的情况计数。
(doviod在评论中)


countif
它识别向量中满足条件的所有值的位置,
length
随后统计“点击次数”

length( which(data$values>=1.3 & data$values<=1.7) )
[1] 3

length(其中(data$values>=1.3和data$values
),它标识向量中满足标准的所有值的位置,并且
length
随后统计“命中次数”

length( which(data$values>=1.3 & data$values<=1.7) )
[1] 3

length(其中(data$values>=1.3&data$values)我将使delta默认为0(
delta=0
),在这种情况下,如果您只给出值,您将得到值等于您提供的值的情况计数。我将使delta默认为0(
delta=0
),在这种情况下,如果你只给出值,你会得到一个计数,其中值等于你提供的值。由于某种原因,这种方法不能正常工作。我有一个包含814个观察值的向量,但这个函数返回超过2k个点击,我甚至不确定这是怎么可能的。我实现这种逻辑的方式是:
cm=results$prev-平均值(结果$dist)和子集(结果,结果$org>0)不确定。如果类(“您的数据”)是一个向量;这应该有效。确保它不是一个因子。如果它不起作用,也许你可以用一个例子更新答案。然后我们可以看看它还需要什么。出于某种原因,这种方法不能正常工作。我有一个有814个观察值的向量,但这个函数返回的命中数超过2k,我甚至不确定这是否可能ble。我实现这个逻辑的方式是:
cm=results$prev-mean(results$dist)&subset(results,results$org>0)不确定。如果类(“您的数据”)是一个向量,这应该是可行的。确保它不是一个因素。也许您可以用一个不可行的示例更新答案。然后我们可以看到它还需要什么。
countif <- function(x, value, delta = 0) 
  sum(value - delta <= x & x <= value + delta)

data <- data.frame( values = c(1,1.2,1.5,1.7,1.7,2))

countif(data$values, 1.5, 0.2)
#[1] 3
length( which(data$values>=1.3 & data$values<=1.7) )
[1] 3