I have a dataset df
field_pointpath assetclass_code value
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 50
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 60
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 65
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 43
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 70
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 55
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 43
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 11
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 67
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 36
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 39
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 33
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 20
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 21
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 22
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 17
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 30
I want to filter out values for specific field_pointpath
for example:
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT
which has a character A should not have value greater than 60:
Similarly,
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT,
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT
which has a character B should not have value greater than 30
Thus output should be
field_pointpath assetclass_code value
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 50
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 60
C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 43
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 55
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 43
C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 11
C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 20
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 21
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 22
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 17
C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 30
You can use regular expression to filter on field_pointpath. I am assuming that you are looking for entries where there is _A or _B followed by 2 digits. Then you combine that with the filter on value:
ind <- (grepl("\\_A[0-9]{2}", df$field_pointpath) & df$value > 60) |
(grepl("\\_B[0-9]{2}", df$field_pointpath) & df$value > 30)
df[!ind, ]
# field_pointpath assetclass_code value
# 1 C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 50
# 2 C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 60
# 4 C_THDxL_0154x6KSFS_A03x6KSF_11xaP_ACT 6KSFS_6KSF 43
# 6 C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 55
# 7 C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 43
# 8 C_THDxL_0154x6KSFS_A03xaP_ACT 6KSFS 11
# 13 C_THDxL_0154x6KSFS_B03x6KSF_11xaP_ACT 6KSFS_6KSF 20
# 14 C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 21
# 15 C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 22
# 16 C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 17
# 17 C_THDxL_0154x6KSFS_B03xaP_ACT 6KSFS 30
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With