基于R/Rstudio中对组的第一次观察创建变量

基于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

我有一个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     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。你能展示一下你试过的吗?