我希望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
答案 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