1

1 列の R データフレームに不足している改行を挿入する必要があります。これらのライン ブレーカーは、データ収集フェーズから欠落していました。

データは次のようになります。

V1
Apple
OrangeBanana
BananaBananaBanana
Watermelon
GrapeBanana

「バナナ」の前のすべての改行がありません

「バナナ」を検索し、不足している改行を追加して、次のようにします。

V1
Apple
Orange
Banana
Banana
Banana
Banana
Watermelon
Grape
Banana
4

1 に答える 1

3

これはもう少し一般的な解決策ですが、「バナナ」を明示的に操作することを簡単に目的とすることができます。

V1 <- c("Apple", "OrangeBanana", "BananaBananaBanana", "Watermelon", "GrapeBanana")

まず、単語の境界ではないすべての大文字を見つけて、スペースと大文字に置き換えて、それらを分割しましょう。

splits <- gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE)
[1] "Apple" "Orange Banana" "Banana Banana Banana" "Watermelon" "Grape Banana"

次に、スペース文字で分割し、リストからベクターに変換します。

unlist(strsplit(splits, " "))
[1] "Apple" "Orange" "Banana" "Banana" "Banana" "Banana" "Watermelon" "Grape" "Banana"   

または1行で:

unlist(strsplit(gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE), " "))

編集:「バナナ」で明示的に機能する正規表現の場合:

gsub("(?:\\B)(Banana)"," \\1" , V1, perl=TRUE)
于 2012-11-22T07:05:53.573 に答える