当日期位于 x 轴和状态时,为数据框中第一次出现的变量提取行

Extract rows for the first occurrence of a variable in a data frame when date is on the x axis and states

已编辑: 示例:

FIPS       Date     Counts 
1001       Jan_22    0
1003       Jan_22    1
1004       Jan_22    0
1001       Jan_23    1
1003       Jan_23    5
1004       Jan_23    0
1001       Jan_24    6
1003       Jan_24    10
1004       Jan_24    1 
1001       Jan_25    8
1003       Jan_25    12
1004       Jan_25    3

Result:
    FIPS   Date     Counts
    1001   Jan_23   1
    1003   Jan_22   1
    1004   Jan_24   1

我试图找出美国不同县自第一例 Covid-19 病例以来的天数。我需要找到在该县首次出现的 1 例确诊病例,然后让 R 告诉我每个 FIPS 代码是在哪一天确认 1 例病例的第一天。我正在做所有 3141 个县。日期从 Jan_22 到 April_30。

编辑3: 观察次数为314200,有3个变量。

t.first <- data_long[match(unique(data_long$Counts, data_long$Counts))]`

我想使用 t.first 来尝试获取该数据中的第一次出现。

您可以保留 Counts > 0 行,然后为每个 FIPS select 保留第一行。

library(dplyr)
df %>%
  filter(Counts > 0) %>%
  group_by(FIPS) %>%
  slice(1L)

#   FIPS Date   Counts
#  <int> <chr>   <int>
#1  1001 Jan_23      1
#2  1003 Jan_22      1
#3  1004 Jan_24      1

我们可以使用base R

subset(df1[df1$Counts >0,], !duplicated(FIPS))
#  FIPS   Date Counts
#2 1003 Jan_22      1
#4 1001 Jan_23      1
#9 1004 Jan_24      1

数据

df1 <- structure(list(FIPS = c(1001L, 1003L, 1004L, 1001L, 1003L, 1004L, 
1001L, 1003L, 1004L, 1001L, 1003L, 1004L), Date = c("Jan_22", 
"Jan_22", "Jan_22", "Jan_23", "Jan_23", "Jan_23", "Jan_24", "Jan_24", 
"Jan_24", "Jan_25", "Jan_25", "Jan_25"), Counts = c(0L, 1L, 0L, 
1L, 5L, 0L, 6L, 10L, 1L, 8L, 12L, 3L)), class = "data.frame", 
row.names = c(NA, 
-12L))