require(dplyr)
...
a <- data.frame(col1 = 1:10)
b_vectorize <- a %>%
mutate(col1 = lag(col1, 1))
b_loop <- a
for(i in 2:10){
b_loop$col1[i] <- b_loop$col1[i-1]
}
print(a)
print(b_vectorize)
print(b_loop)
附言:我是R的新手,如果有任何帮助,我将不胜感激,谢谢!
如果您想要b_vectorize
和as b_loop
输出相同的,请尝试此操作
b_vectorize <- a %>%
mutate(col1 = c(first(col1) , diff(col1)))
- 输出
col1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1