質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

2136閲覧

Rのエラー:不正な正則表現です、理由は 'Missing ')'' はどういう意味でしょうか

oika77

総合スコア184

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2020/10/13 01:56

R

1コード 2px<-c("(","(これから","はや") 3x <- grep("^($", px) 4x

エラーの出るコードは以上のコードです。エラーの出ているコードはgrepの行です。
この場合はどのように解決すれば良いのでしょうか。わかる方よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2020/10/13 02:16

「grep("^($", px)」を「grep("^\($", px)」に変更した場合、何か変化は見られますか? (バックスラッシュでエスケープする)
oika77

2020/10/13 02:22

ありがとうございます。今試してみましたところ、このようなエラーが出てきました。 エラー: ""^\(" で始まる文字列の中で '\(' は文字列で認識されないエスケープです
KojiDoi

2020/10/13 05:16

文字コードはUTF-8になさってますかね? shiftJISとかになってない?
oika77

2020/10/13 08:20

1T2R3M4さん ありがとうございます。しかしその書き方だと少し使い辛いので一般的なやり方を探してみます。
oika77

2020/10/13 08:23

KojiDoiさん csvを取得する時にread.csv("data/data_utf8.csv", fileEncoding = "utf8")とやっています。(fileEncoding = "utf8"を指定している)しかしうまくいきません。
guest

回答1

0

ベストアンサー

(は正規表現においてグループの始まりを示すメタ文字であり、対応する)が無ければ文法エラーとなります。括弧をメタ文字ではなく通常の文字として扱いたい場合は、これにバックスラッシュをつける必要があります。
さらに、Rの文字列定数の中ではバックスラッシュは\のように重ねて書かなければなりません。

つまり

px<-c("(","(これから","はや") x <- grep("^\($", px) print(x)

Ref:
Rの正規表現 - Qiita

投稿2020/10/13 08:41

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問