[英]Subtract an observation from another in different column and add a specific value to the result to create a new observation in the first column in R
[英]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.