【问题标题】:Select data till the end based on a pattern in one column根据一列中的模式选择数据直到最后
【发布时间】:2021-03-26 12:32:06
【问题描述】:

我有乱七八糟的数据。我想根据列中的短语对数据进行子集化,直到最后。

df1 <- data.frame(
V1=c("No. de Control Interno de", "la Partida / Concepto de Obra","",
     "LO-009J0U004-","E50-2021",""),
V2=c("","Descripción Breve","Trabajos de señalamiento horizontal en puente de",
     "cuota \"El Zacatal\", consistentes en suministro y","aplicación de pintura de tránsito, suministro y",
     "colocación de botones y ménsulas reflejantes."),
V3=c("","ClaveCUCOP","","","62502002",""),
V4=c("Unidad","Observaciones de Medida","","","Obra",""),
V5=c("","Cantidad","","","1","")
)

只要在V2 中,有短语Descripción,代码应该从该行到最后的子集数据帧。例如,在上面的例子中,这意味着从第 2 行到第 6 行中选择数据。我正在尝试使用来自 stringr 包的 str_detect

【问题讨论】:

    标签: r stringr


    【解决方案1】:

    您可以使用which() 函数返回str_detect()TRUE 的索引。

    library(stringr)
    
    which(str_detect(df1$V2, "Descripción"))
    [1] 2
    

    如果您将which() 的输出保存到变量中,则可以使用它来对数据进行子集化。请注意,如果有多个位置 str_detect 返回 true,则后续会显式调用 x 中的第一个值。

    x <- which(str_detect(df1$V2, "Descripción"))
    df1[x[1]:nrow(df1),]
    
                                 V1                                               V2         V3                      V4       V5
    2 la Partida / Concepto de Obra                                Descripción Breve ClaveCUCOP Observaciones de Medida Cantidad
    3                               Trabajos de señalamiento horizontal en puente de                                            
    4                 LO-009J0U004- cuota "El Zacatal", consistentes en suministro y                                            
    5                      E50-2021  aplicación de pintura de tránsito, suministro y   62502002                    Obra        1
    6                                  colocación de botones y ménsulas reflejantes.
    

    【讨论】:

    • str_whichstr_which(df1$V2, "Descripción")# [1] 2
    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2020-03-22
    • 2011-03-31
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多