繁体   English   中英

新列说明观察首次发生的时间

[英]New column that tells when observation first occurred

我正在尝试创建一个新列“第一次出现”,它告诉我使用 tidyverse package 首次发生观察的时间。

例如:如果我有

观察
2000 一个
2000
2001年 一个
2001年 C

我想要以下结果。

观察 首次亮相
2000 一个 2000
2000 2000
2001年 一个 2000
2001年 C 2001年
library(dplyr)

df %>% 
  group_by(Observation) %>% 
  mutate(FirstObservation = min(Year)) %>% 
  ungroup()

Output

   Year Observation FirstObservation
  <int> <chr>                  <int>
1  2000 A                       2000
2  2000 B                       2000
3  2001 A                       2000
4  2001 C                       2001

数据

df <- structure(list(Year = c(2000L, 2000L, 2001L, 2001L), Observation = c("A", 
"B", "A", "C")), class = "data.frame", row.names = c(NA, -4L))

我知道有人问过tidyverse ,但我仍然包含一个使用data.table的变体

library(data.table)
setDT(df)
df[,FistAppearance:= min(Year), Observation]
df
       Year Observation FistAppearance
1: 2000           A           2000
2: 2000           B           2000
3: 2001           A           2000
4: 2001           C           2001

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM