我正在尝试在当前单元格中使用公式,并参考R中它上面的单元格。例如:
data$srno = data$srno[offset(-1,0)] + 1
我们可以用R编码吗?
答案 0 :(得分:2)
对您来说更方便的是使用不同包装中的滞后或移位功能。
以下是应对挑战的一些不同方法:
myvector<-1:26
# base version
1+c(0,myvector[1:length(myvector)-1])
# returns an NA for 1st row
1+Hmisc::Lag(myvector)
1L + data.table::shift(myvector, fill=0)
答案 1 :(得分:0)
问题是顶部单元格上面没有单元格。一种方法是对该单元使用NA:
data$srno <- c(NA,data$srno[-length(data$srno)]+1);
另一种方法是将底部单元格考虑到&#34;环绕&#34;,以便可以在公式中使用它来计算顶部单元格的新值。这是否有意义取决于您的数据/公式,但这里是如何做到的:
data$srno <- data$srno[c(length(data$srno),1:(length(data$srno)-1))]+1;