問題タブ [stringr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2912 参照

r - r の文字列を区切り記号で分割し、最後の 2 つの項目を破棄する方法は?

で区切られた文字列が_あり、最後の 2 つの要素を削除したいと考えています。たとえば、 from A_B_C_DI want to returnA_Bと from A_B_C_D_EI want A_B_C. str_split_fixed私はから試しましたstringr

"A" "B" "C_D"しかし、それは代わりに 戻ります"A_B" "C" "D"。そうでなければ、取得することができたでしょhead(x,-2)A_B

よりも良い方法はありますか

0 投票する
2 に答える
35987 参照

r - How to escape a backslash in R?

I'm working in R and having troubles escaping the backslash. I am using the library stringr.

I would like to do str = str_replace_all(str, "\", "")

So I tried str = str_replace_all(str, "\\", "") but it won't work.

What should I do?

0 投票する
1 に答える
6627 参照

r - 理解できないエラーです。「プロミスは既に評価中…」

stringrパッケージの助けを借りて、名前のパターンを見つける関数を作成しようとしています。私の関数は次のようになります。

関数を呼び出すと、エラーが発生します。

エラーと私が間違っていることを理解できません..ガイドラインを事前にありがとう:)

EDIT: 代わりに次のように書くと:

私は得る:

関数に入れずにプロシージャを実行すると、行が取得されるため、これは正しくありません。

ここに出力があります:

Edit

これは機能します:

しかし、どうすれば引用符なしで Primus を渡すことができnamezz(Primus,data,Name)ますか?. 私の質問のように何かを考えていますが、うまくいきas.character(quote())ません..

0 投票する
1 に答える
140 参照

r - stringr を使用してベクトルを分割する、予期しない結果の長さ

stringr文字ベクトルを操作するために私が台無しにしている単純なもの。次の種類のデータフレームがあります

アンダースコアの後のすべてが別の変数として必要です。をこのように使用するとstr_sub、長さ 20 のベクトルが生成されます。その理由を説明することはできません。

$<-.data.frame( *tmp*, "y", value = c("_12", "_7", "_15", のエラー: 置換には 20 行、データには 10 行あります

誰かがstr_sub呼び出しを正しい方法で書く方法を教えてもらえますか?

0 投票する
2 に答える
926 参照

r - data.table 内の str_match のシーケンス

2 つの部分に解析する文字列変数があります。最初の列に元の文字列があり、他の列に抽出された各部分があるマトリックスを返すパッケージを使用str_matchして、これにアプローチすると考えました。stringr

これら 2 つの部分を抽出するための正規表現を約 10 個見つけました。(パーツははしごであり、支払いスケジュールのラングであり、非常に面倒です。一連のネストされたifelseステートメントを使用して関数を定義することにより、正規表現が機能することを確認しました。)

正規表現を順番にチェックし、最初にチェックアウトしたものを使用してパーツを抽出したいと思います。正規表現が 1 つしかない場合は、次のようにすることができます。

(それが機能するようになるまでにも長い時間がかかりました。関数の とVectorizeのすべての組み合わせを試し、呼び出しで ing を実行しました。)as.list*apply

正規表現を順番にチェックする私の最善の試みは、このかなり醜いクラッジです:

ご覧のとおり、まだ完全には機能していません。

これにアプローチするためのより良い方法について何か考えはありますか? データ セットには約 350 万行ありますが、この文字列の一意の値は約 2000 しかないため、効率についてはあまり心配していません。

0 投票する
2 に答える
13963 参照

regex - 非貪欲な文字列正規表現マッチング

ここで明らかな何かが欠けていると確信していますが、Rに貪欲でない正規表現を使用させることはできません。

基本関数は同じように動作します。

http://stat.ethz.ch/R-manual/R-devel/library/base/html/regex.htmlabの「貪欲な」コメントと同じように一致すると思います。

デフォルトでは、繰り返しは貪欲であるため、可能な最大数の繰り返しが使用されます。これは、? を追加することで「最小」に変更できます。数量詞に。(おおよその一致を可能にする量指定子が他にもあります。TRE のドキュメントを参照してください。)

誰かが私に何が起こっているのか説明してもらえますか?

アップデート。クレイジーなのは、他のいくつかのケースでは、貪欲でないパターンが期待どおりに動作することです。

0 投票する
3 に答える
1223 参照

r - 可能な出力がわかっている場合は、「strsplit」を高速化します

要因名を区切り記号で分割することにより、3 つの要因列に分割する必要がある要因列を含む大きなデータ フレームがあります。これが私の現在のアプローチです。これは、大きなデータ フレーム (場合によっては数百万行) では非常に遅くなります。

この操作を高速化する方法はありますか? 「種」、「サイズクラス」、および「感染」の各カテゴリには少数 (<5) の数があり、これらが何であるかは事前にわかっていることに注意してください。

ノート:

  • stringr::str_split_fixedこのタスクを実行しますが、それ以上速くはなりません
  • データ フレームは、実際には、関連付けられたレベルがディメンションreshape::meltである配列を呼び出すことによって最初に生成されます。Classそこからここに行くためのより速い方法があれば、素晴らしいです。
  • data.rdshttp://dl.getdropbox.com/u/3356641/data.rds
0 投票する
1 に答える
535 参照

r - r data.tableで結合因子列を2つの因子列に分割する最も効率的な方法は何ですか?

fcombined と値 fcombined は要因ですが、実際には 2 つの要因が相互作用した結果です。ここでの問題は、1 つの因子の列を再び 2 つに分割する最も効率的な方法は何かということです。私はすでに問題なく機能する解決策を考え出していますが、見逃したもっと簡単な方法があるかもしれません。実際の例は次のとおりです。

0 投票する
3 に答える
4688 参照

r - 文字列の最初の「バックスラッシュ」の後のすべてを削除する

私は以下のようなベクトルを持っています

以下のように、最初のスラッシュが発生したらすぐにすべてを削除したい

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

私の元のベクトルは以下のとおりです(頭のみ)

ここで問題は、元の csv ファイルにバックスラッシュが含まれていないことですが、それを読むとバックスラッシュが表示されます。元のcsvファイルは以下の通り

ご覧のとおり、実際には「ENTER」で区切られていますが、read.csv() を使用して R で読み取ると、バックスラッシュに置き換えられます。

0 投票する
3 に答える
16593 参照

r - str_detect を使用して String 内のパターンを検出する

を使用して、文字列に特定のパターンが含まれているかどうかを検出しようとしていますstr_detect。私が持っているパターンは一連の「....」です - ドットの正確な数は不明です。私はstr_detect以下のように使用しようとしています....

ただし、この特定のケースでstr_detectは TRUE を返します。どこが間違っているstr_detectのか、また使用するのに適切な機能なのか疑問に思っていますか? ここの誰かが助けてくれることを願っていますか?

これは TRUE を返します。strのドットがパターンに従っていないため、FALSE を期待しています。

前もって感謝します、シマク