【发布时间】:2018-01-31 23:59:10
【问题描述】:
我有一列有很多零值和偶尔的十进制值,例如
c <- c(0,0,0,0.0927,0,0,0.100821,0)
我有一个单独的列,v,其中包含所有十进制数字:
v <- c(0.091,0.0981,0.101,0.102,0.092,0.1,0.091,0.099)
如果我在 c 中的值 >0,我想查看列 v从该观察向前(即从该行向下),看看是否在该范围内的任何地方,有一个值低于c 的该行/观察值中的特定值。理想情况下,我想返回第一个出现的较小数字实例的值和/或行号/索引。
输出如下所示: (不,不,不,不,5,不,不,不,8,不)
即输出返回 v 中下一个实例的行号,该行号低于 C 中的相应数字。它忽略 v 中的第一个值 .091,即使它低于 C 中的第一个数字 (.0927),因为它发生在 C 中的出现之前(数据按时间顺序排列)。我只想查看后续行。
我真的非常感谢任何帮助。 :-) W
【问题讨论】:
-
你为什么要在
v的声明中覆盖c? -
“从该行向下”是否包括该行本身?
-
如果可能,最好从下一行开始。但是,如果我从同一行开始,我认为它不会破坏代码。
-
Maurits - 我很抱歉。那是一个复制/粘贴错误。我现在已经纠正了。我不是故意要覆盖 c!!
-
另外,在 R 中,我们通常避免使用
c作为变量名,因为它已经是最常用函数的名称。
标签: r