Select 数据直到最后基于一列中的模式
Select data till the end based on a pattern in one column
我的数据很乱。我想根据列中的一个短语对数据进行子集化,直到最后。
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
。
您可以使用 which()
函数来 return str_detect()
为 TRUE
的索引。
library(stringr)
which(str_detect(df1$V2, "Descripción"))
[1] 2
如果您将 which()
的输出保存到一个变量,则可以使用它来对数据进行子集化。请注意,以下内容明确调用 x
中的第一个值,以防有多个地方 str_detect
return 为真。
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.
我的数据很乱。我想根据列中的一个短语对数据进行子集化,直到最后。
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
。
您可以使用 which()
函数来 return str_detect()
为 TRUE
的索引。
library(stringr)
which(str_detect(df1$V2, "Descripción"))
[1] 2
如果您将 which()
的输出保存到一个变量,则可以使用它来对数据进行子集化。请注意,以下内容明确调用 x
中的第一个值,以防有多个地方 str_detect
return 为真。
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.