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

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

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

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

Q&A

解決済

1回答

7078閲覧

【R】subsetを使った複数条件の抽出

suntaro

総合スコア1

R

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

0グッド

0クリップ

投稿2021/03/21 00:05

前提・実現したいこと

Rstudioを使って
計29項目あるcsvデータを読み込み、うちデータ項目「コード」「学年」で➀-➂の条件を満たしたデータを抽出して出力する作業を行います。
「コード」は0-9の文字列です。

 ➀「コード」は5桁の長さ
➁かつ「コード」の文字列が24から始まっているもののみ
➂「学年」が小6のみ
subsetをどのような記述を施せば出力できるか教えてほしいです。
よろしくお願い致します。

発生している問題・エラーメッセージ

下記の★の部分で
FUN(left, right) でエラー:
演算が可能なのは数値、論理値、そして複素数型のみです
とエラーが出てしまいます

該当のソースコード
CSV読み込み
data = read.csv("join.csv",stringsAsFactors=FALSE)
条件抽出 -★
data2 <- subset(data,data$コード=="^24" & data$学年=="小6")
CSV出力
write.table(data2[ ,c(1,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29)],"join2.csv",sep=",")

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

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

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

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

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

guest

回答1

0

ベストアンサー

  • subsetの中での変数の使い方が間違っています。
  • 正規表現マッチを演算子==で行うことはできません。

こんな感じになるはずです。

data2 <- subset(data, match("^24", コード)>0 & 学年=="小6")

投稿2021/03/21 06:55

KojiDoi

総合スコア13692

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

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

suntaro

2021/03/21 09:40

ありがとうございました。これからもどうぞよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問