R逻辑,用于创建与升序索引号相关的升序变量(长格式)

R逻辑,用于创建与升序索引号相关的升序变量(长格式),r,excel,automation,data-science,data-analysis,R,Excel,Automation,Data Science,Data Analysis,我的目标是在R中创建一个基于相应索引号的升序列表变量。它可能是简单的循环逻辑,但我无法确定正确的词汇来研究正确的方法,因为这个逻辑/数学迄今为止还不是我主要学科的一部分。正因为如此,在寻找参考网站时,我一直在毫无运气地旋转轮子 我在Excel中创建了以下内容来说明我的目标: 到目前为止,我一直在使用Excel中的一个漂亮的手动代码: =IF(B2=1,0+10000000,"-") =IF(B3=1,A2+1,"-") =IF(n1=1,0+10000000,"-") =IF(n1=1,m2+

我的目标是在R中创建一个基于相应索引号的升序列表变量。它可能是简单的循环逻辑,但我无法确定正确的词汇来研究正确的方法,因为这个逻辑/数学迄今为止还不是我主要学科的一部分。正因为如此,在寻找参考网站时,我一直在毫无运气地旋转轮子

我在Excel中创建了以下内容来说明我的目标:

到目前为止,我一直在使用Excel中的一个漂亮的手动代码:

=IF(B2=1,0+10000000,"-")
=IF(B3=1,A2+1,"-")
=IF(n1=1,0+10000000,"-")
=IF(n1=1,m2+1,"-")


我非常感谢您能深入了解哪些词汇和逻辑可以用来实现我的目标。

我们可以使用
%/%
自动创建它

100:500 %/% 100
如果列中的值以100秒为单位

df1$sort_order %/% 100

将值100更改为10000000左右对于较大的数字

尝试一下,您可以更改乘法以获得所需的任意多个0

id <- c(1,1,1,2,2,2,2,2,3,3,3,3,3)
sort.order <- rep(0, length(id))
id.check <- id[1]
tick <- 0

for (i in 1:length(id)) {
  if (id[i] %in% id.check) {
    sort.order[i] <- (id[i] * 100) + tick
    tick <- tick + 1
  } else {
    id.check <- c(id.check, id[i])
    sort.order[i] <- id[i] * 100
    tick <- 1
  }
}

df <- data.frame(sort_order = sort.order, sentence_id = id)



id