【发布时间】:2021-09-26 05:31:19
【问题描述】:
我需要在我的数据框中创建一个列,其中新列 (next.1) 从列 current 的第 i + 1 行开始。我用dplyr 尝试了这段代码,它在虚拟数据集上完成了这项工作。但是,它只是在我的原始数据框中不起作用。我试图分离 dplyr 包,重新启动 R 等,但没有运气。我想知道是否有任何其他方法可以在不使用dplyr 的情况下完成相同的工作?
month <- c(1:12)
current <- c(20:31)
df <- data.frame(month, current)
df$month <- as.factor(as.character(df$month))
library(dplyr)
df <- df %>%
dplyr::mutate(next.1 = lead(current, default = first(current)))
【问题讨论】:
-
你能解释一下出了什么问题吗?这段代码对我来说很好
-
你可以试试
data.table::shift()。
标签: r for-loop dplyr iteration