在R;我想在R中做一些事情而不是excel,因为excel无法处理计算。在excel中,计算结果为:= A2 + SUM($ B $ 2:B2)

时间:2016-08-04 09:01:23

标签: r excel

我希望col c phys_pos为col position中的值加上col b length的累积值。在excel中,计算结果为:=A2+SUM($B$2:B2),但excel无法处理如此多的数据。谢谢大家。

我想要的数据:

position    length  phys_pos
12  45  57
97  0   142
135 0   180
498 0   543
512 0   557
16  67  128
76  0   188
89  0   201
101 0   213
152 0   264
3   103 218
19  0   234
76  0   291
88  0   303

2 个答案:

答案 0 :(得分:-2)

假设您的数据存储在名为" dat":

的数据框中
acc <- 0
for(i in 1:nrow(dat)){
  acc <- acc + dat[i,"length"]
  dat[i,"phys_pos"] <- dat[i,"position"]+acc
}

这很简单。如果你想做一些教程,你可以学会自己快速地完成它。

答案 1 :(得分:-2)

查看dplyr https://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html

install.packages("dplyr")

library(dplyr)

df <- df %>% mutate(phys_pos=cumsum(length)+position)

我假设您的data.frame名为df

或者用基础R

df$phys_pos <- cumsum(df$length) + df$position