[英]New column that tells when observation first occurred
I am trying to create a new column 'First Appearance that tells me when the observation first occurred using the tidyverse package.我正在尝试创建一个新列“第一次出现”,它告诉我使用 tidyverse package 首次发生观察的时间。
For Example: If I have例如:如果我有
Year年 | Observation观察 |
---|---|
2000 2000 | A一个 |
2000 2000 | B乙 |
2001 2001年 | A一个 |
2001 2001年 | C C |
I would like the following outcome.我想要以下结果。
Year年 | Observation观察 | First Appearance首次亮相 |
---|---|---|
2000 2000 | A一个 | 2000 2000 |
2000 2000 | B乙 | 2000 2000 |
2001 2001年 | A一个 | 2000 2000 |
2001 2001年 | C C | 2001 2001年 |
library(dplyr)
df %>%
group_by(Observation) %>%
mutate(FirstObservation = min(Year)) %>%
ungroup()
Output Output
Year Observation FirstObservation
<int> <chr> <int>
1 2000 A 2000
2 2000 B 2000
3 2001 A 2000
4 2001 C 2001
Data数据
df <- structure(list(Year = c(2000L, 2000L, 2001L, 2001L), Observation = c("A",
"B", "A", "C")), class = "data.frame", row.names = c(NA, -4L))
I know it is asked about tidyverse
, still, I include a variant using data.table
我知道有人问过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.