2017-01-11 11 views
0

私は何千もの文字列(以下の例)からなる乱雑なデータを扱っています。文字列に引用符が挿入されていない

N  Text_Strings 
1  c("israel v. bulgaria", "israel v. bulgaria") 
2  israel v. bulgaria 
3  c("israel v. bulgaria", "israel v. bglgaria") 
4  israel v. bulgaria 
5  character(0) 
... 

以下/ MWE上記サンプルから明らかなように、複数の、連結ストリングと文字列はエスケープ引用符を含んでいるが、唯一の要素を持つ文字列は、引用符が欠落しています。私の実際のデータは11,000行で、150以上のユニークな部分文字列を含んでいます。

(a)複数の部分文字列を含む文字列の引用符を削除する方法、または(b)欠落している部分を挿入する方法はありますか?ターゲットの部分文字列がわかっているときに引用符を貼り付ける方法を説明するSOにはたくさんのリソースがありますが、すべての行に対して条件付きで行う方法については何も見つかりませんでした。

ありがとうございました!

x <- structure(list(case_num = structure(c(34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L), 
            .Label = c(" 1", " 3", " 4", " 5", 
               " 6", " 7", " 8", " 9", " 10", " 11", " 12", " 13", " 14", 
               " 15", " 16", " 17", " 18", " 19", " 20", " 21", " 22", " 23", 
               " 24", " 25", " 26", " 27", " 28", " 29", " 30", " 31", " 32", 
               " 33", " 34", " 35", " 36", " 37", " 38", " 39", " 40", " 41", 
               " 42", " 43", " 44", " 45", " 46", " 47", " 48", " 49", " 50", 
               " 51", " 52", " 53", " 54", " 55", " 56", " 57", " 58", " 59", 
               " 60", " 61", " 62", " 63", " 64", " 65", " 66", " 67", " 68", 
               " 69", " 70", " 71", " 72", " 73", " 74", " 75", " 76", " 77", 
               " 78", " 79", " 80", " 81", " 82", " 83", " 84", " 85", " 86", 
               " 87", " 88", " 89", " 90", " 91", " 92", " 93", " 94", " 95", 
               " 96", " 97", " 98", " 99", "100", "101", "102", "103", "104", 
               "105", "106", "107", "108", "109", "110", "111", "112", "113", 
               "114", "115", "116", "117", "118", "119", "120", "121", "122", 
               "123", "124", "125", "126", "127", "128", "129", "130", "131", 
               "132", "133", "134", "135", "136", "137", "138", "139", "140", 
               "141", "142", "143", "144", "145", "146", "147", "148", "149", 
               "150", "151", "152", "153", "154", "155", "156", "157", "158", 
               "159", "160", "161", "162", "163", "164"), 
            class = "factor"), 
       type = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L), 
           .Label = c("court", "claimant"), 
           class = "factor"), 
       listcites = c("c(\"israel v. bulgaria\", \"israel v. bulgaria\")", 
           "israel v. bulgaria", 
           "c(\"israel v. bulgaria\", \"israel v. bglgaria\")", 
           "israel v. bulgaria", 
           "character(0)", 
           "character(0)", 
           "character(0)", 
           "character(0)", 
           "character(0)", 
           "character(0)")), 
      .Names = c("case_num", "type", "listcites"), 
      row.names = c(485L, 486L, 487L, 488L, 489L, 490L, 491L, 492L, 495L, 496L), 
      class = "data.frame") 
+0

あなたは私たちにあなたが使用している実際の生のデータを表示することができます末尾の? 「c(「イスラエル対ブルガリア」、「イスラエル対ブルガリア」)は、各用語が引用されているわけではありません。むしろ、それぞれの用語の引用符は単にそれをテキストとして扱うことを意味します。 –

+0

'listcites'カラムは真剣に骨抜きになっています。これは、Rコードとして偽装された未評価のテキストの束であるようです。 – thelatemail

答えて

1

これは正規表現で行うことができます。文字列

で引用符を削除するには
x$listcities <- gsub("\"", "", x$listcites) 

も削除につながるc()

x$listcities <- gsub("^c\\(|\"|\\)$", "", x$listcites) 
関連する問題