R 有效更改引用前一行的数据帧中的变量';s值
我有一个如下所示的数据库:R 有效更改引用前一行的数据帧中的变量';s值,r,data.table,R,Data.table,我有一个如下所示的数据库: df使用ave df$num+ave(df$id,df$id,FUN = seq_along)-1 [1] 12 13 14 28 29 17 18 7 使用ave df$num+ave(df$id,df$id,FUN = seq_along)-1 [1] 12 13 14 28 29 17 18 7 结果: # id num # 1: 1 12 # 2: 1 13 # 3: 1 14 # 4: 2 28 # 5: 2 29 # 6:
df使用ave
df$num+ave(df$id,df$id,FUN = seq_along)-1
[1] 12 13 14 28 29 17 18 7
使用ave
df$num+ave(df$id,df$id,FUN = seq_along)-1
[1] 12 13 14 28 29 17 18 7
结果:
# id num
# 1: 1 12
# 2: 1 13
# 3: 1 14
# 4: 2 28
# 5: 2 29
# 6: 3 17
# 7: 3 18
# 8: 4 7
结果:
# id num
# 1: 1 12
# 2: 1 13
# 3: 1 14
# 4: 2 28
# 5: 2 29
# 6: 3 17
# 7: 3 18
# 8: 4 7
另一种data.table方法,以防您喜欢由
提供的显式:
library(data.table)
setDT(df)
df[ , num := num + 1:.N - 1, by=id]
另一种data.table方法,以防您喜欢由
提供的显式:
library(data.table)
setDT(df)
df[ , num := num + 1:.N - 1, by=id]
# id num
# 1: 1 12
# 2: 1 13
# 3: 1 14
# 4: 2 28
# 5: 2 29
# 6: 3 17
# 7: 3 18
# 8: 4 7
library(data.table)
setDT(df)
df[ , num := num + 1:.N - 1, by=id]