私の問題に対する直感的な解決策を探していました。 私はいくつかの基準に基づいて特殊文字を挿入する必要がある単語の巨大なリストを持っています。 2/3文字の単語がセルに表示された場合 は、だから私はhow +to+ finance commercial +ale+ estate
既存の単語に基づいてRに特殊文字を挿入します
global +b2b+ banking
how to finance commercial ale estate
に変換します
例
global b2b banking
を「+」、右を追加し、それを左にしたいですここ
は、サンプルデータセットである:
sample <- c("commercial funding",
"global b2b banking"
"how to finance commercial ale estate"
"opening a commercial account",
"international currency account",
"miami imports banking",
"hsbc supply chain financing",
"international business expansion",
"grow business in Us banking",
"commercial trade Asia Pacific",
"business line of credits hsbc",
"Britain commercial banking",
"fx settlement hsbc",
"W Hotels")
data <- data.frame(sample)
さらに、長さ1の文字を持つ行を削除することは可能ですか? 例:私はGSUBでそれらを削除しようとしたすべての1つの文字の単語については
W Hotels
、
gsub(" *\\b[[:alpha:]]{1,1}\\b *", " ", sample)
これは、設定されたデータセットから削除する必要があります。
ご協力いただきまして誠にありがとうございます。
編集1助けを
おかげで、私はそれにいくつかのより多くの行を追加しました:
sample <- c("commercial funding", "global b2b banking", "how to finance commercial ale estate", "opening a commercial account","international currency account","miami imports banking","hsbc supply chain financing","international business expansion","grow business in Us banking", "commercial trade Asia Pacific","business line of credits hsbc","Britain commercial banking","fx settlement hsbc", "W Hotels")
sample <- sample[!grepl("\\b[[:alpha:]]\\b",sample)]
sample <- gsub("\\b([[:alpha:][:digit:]]{2,3})\\b", "+\\1+", sample)
sample <- gsub(" ",",",sample)
sample <- gsub("+,","+",sample)
sample <- gsub(",+","+",sample)
sample <- tolower(sample)
sample <- ifelse(substr(sample, 1, 1) == "+", sub("^.", "", sample), sample)
data <- data.frame(sample)
data
sample
1 commercial++funding
2 global+++b2b+++banking
3 how++++to+++finance++commercial+++ale+++estate
4 international++currency++account
5 miami++imports++banking
6 hsbc++supply++chain++financing
7 international++business++expansion
8 grow++business+++in++++us+++banking
9 commercial++trade++asia++pacific
10 business++line+++of+++credits++hsbc
11 britain++commercial++banking
12 fx+++settlement++hsbc
はどういうわけか、私は削除することができません "+"、 "" でGSUBと?私は間違って何をしていますか? だから"fx+,settlement,hsbc"
は"fx+settlement,hsbc"
でなければなりませんが、++と置き換えられます。
を使用し、文字列の先頭からすべて
+
を削除する必要がある場合はまた、あなたが唯一の文字からなる単語全体を含むすべてのアイテムをドロップしたいわけ? –
もし複数の単語を持っていても1つの単語の長さが1であれば、その行を削除したいと思います。残りの2文字と3文字の前後に特殊文字 "+"を追加します。 。 – PSraj
よかった、だから何を試しましたか? –