子集数据帧,其中包含带有特殊字符(例如“ /”)的字符串

时间:2018-10-22 21:03:36

标签: r dataframe dplyr

我有一个这样的数据框

  ID   Name                               Measurement            
  111  XTANACDA55_156_T110\L_PM3\3 N13    Length
  112  AADARU_16\L_PM3\4 N13              Height
  113  XTANACDA55_156_T110\L_PM3\3 N13    Length
  114  AADARU_16\L_PM3\4 N13              Height 

我正在尝试对此子集

library(dplyr)
df <- df %>% 
  filter(Name == "XTANACDA55_156_T110\L_PM3\3 N13" & Measurement == "Length")

抛出错误,提示“ '\ L'是无法识别的字符串转义

如何在不转换字符串的情况下对其进行子集化?任何帮助,将不胜感激。

我的所需输出

  ID   Name                               Measurement            
  111  XTANACDA55_156_T110\L_PM3\3 N13    Length
  113  XTANACDA55_156_T110\L_PM3\3 N13    Length 

1 个答案:

答案 0 :(得分:2)

将每个反斜杠(\)加倍,如下所示:

df <- df %>% 
  filter(Name == "XTANACDA55_156_T110\\L_PM3\\3 N13" & Measurement == "Length")

字符串中的反斜杠是转义字符。如果您想按字面意义进行解释,则需要用另一个符号对其进行转义。