基于R/Rstudio中对组的第一次观察创建变量
我有一个data.table,并试图根据对一组的第一次观察创建一个新变量,例如:基于R/Rstudio中对组的第一次观察创建变量,r,data.table,R,Data.table,我有一个data.table,并试图根据对一组的第一次观察创建一个新变量,例如: ID, Month, Value A Jan 5 A Feb 10 A Mar 7 B Feb 3 B Mar 6 期望输出: ID, Month, Value First.Month A Jan 5 Jan A Feb 10
ID, Month, Value
A Jan 5
A Feb 10
A Mar 7
B Feb 3
B Mar 6
期望输出:
ID, Month, Value First.Month
A Jan 5 Jan
A Feb 10 Jan
A Mar 7 Jan
B Feb 3 Feb
B Mar 6 Feb
我在Rstudio工作,非常感谢您的帮助
提前谢谢 使用
data.table
,我们可以按'ID'分组,并分配(:=
)'Month'的第一个元素,即'Month[1L'(1L
只是一个整数表示,可以将其放到1
)以创建'first.Month'
library(data.table)
dt[, First.Month := Month[1L], by = ID]
dt
# ID Month Value First.Month
#1: A Jan 5 Jan
#2: A Feb 10 Jan
#3: A Mar 7 Jan
#4: B Feb 3 Feb
#5: B Mar 6 Feb
注意:如果它不是数据表
,请先转换为数据表
setDT(dt)
非常好,谢谢你的回答和详细的解释欢迎来到SO。你能展示一下你试过的吗?