在R中添加一个新列,该列等于另一列的索引
我有这样一个数据帧:在R中添加一个新列,该列等于另一列的索引,r,R,我有这样一个数据帧: date <- as.Date(c('2020-01-01','2020-01-02','2020-01-03')) value <- c(5,6,7) df <- data.frame(date, value) 如何操作?您可以使用sapply来操作长度 df <- setNames(cbind(df, sapply(1:2, function(i) c(rep(NA, i), x[-(length(x):(length(x)-(i-1))
date <- as.Date(c('2020-01-01','2020-01-02','2020-01-03'))
value <- c(5,6,7)
df <- data.frame(date, value)
如何操作?您可以使用
sapply
来操作长度
df <- setNames(cbind(df, sapply(1:2, function(i)
c(rep(NA, i), x[-(length(x):(length(x)-(i-1)))]))),
c(names(df), paste0("val_", 1:2)))
df
# date value val_1 val_2
# 1 2020-01-01 5 NA NA
# 2 2020-01-02 6 5 NA
# 3 2020-01-03 7 6 5
df使用library(dplyr)
,您可以执行lag(值,1)
和lag(值,2)
df <- setNames(cbind(df, sapply(1:2, function(i)
c(rep(NA, i), x[-(length(x):(length(x)-(i-1)))]))),
c(names(df), paste0("val_", 1:2)))
df
# date value val_1 val_2
# 1 2020-01-01 5 NA NA
# 2 2020-01-02 6 5 NA
# 3 2020-01-03 7 6 5