atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
R入門
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
R入門
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
R入門
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • R入門
  • 演算子と制御構文

R入門

演算子と制御構文

最終更新:2025年01月27日 22:27

r-intro

- view
管理者のみ編集可

目次

  • 目次
  • 剰余を求める
  • 条件演算子(三項演算子)を使う
  • パイプを使う
  • パイプを使う
  • 条件式で条件を設定してエラーを出す

剰余を求める

%%演算子を使う。

> n <- -5:5
> print(n)
 [1] -5 -4 -3 -2 -1  0  1  2  3  4  5
> n %% 3
 [1] 1 2 0 1 2 0 1 2 0 1 2
> d <- seq(-3, 3, 0.5)
> print(d)
 [1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5  0.0  0.5  1.0  1.5  2.0  2.5  3.0
> d %% 2
 [1] 1.0 1.5 0.0 0.5 1.0 1.5 0.0 0.5 1.0 1.5 0.0 0.5 1.0

条件演算子(三項演算子)を使う

Rには条件演算子(三項演算子)はなく、ifelse関数で代用することができる。

ifelse(v1, v2, v3)

v1は論理型ベクトルで、v1が真(TRUE)の場合はv2が、偽(FALSE)の場合はv3が戻り値になる。

> n <- 3
> n <- c(1, 2, 3)
> ifelse(n >= 2, c("A", "B", "C"), c("a", "b", "c"))
[1] "a" "B" "C"

パイプを使う

dplyrパッケージの%>%演算子を使う。以下はデータAirPassengersの先頭から10個のレコードを表示させるために、%>%演算子によるパイプラインを使用して抽出した例。

> head(AirPassengers)
[1] 112 118 132 129 121 135
> head(AirPassengers, 10)
 [1] 112 118 132 129 121 135 148 148 136 119
> AirPassengers %>% head()
 AirPassengers %>% head() でエラー: 
   関数 "%>%" を見つけることができませんでした 
> library(dplyr)
> AirPassengers %>% head()
[1] 112 118 132 129 121 135
> AirPassengers %>% head(10)
 [1] 112 118 132 129 121 135 148 148 136 119

%>%演算子は、次の受け取った出力を次の関数の第一引数に与える。受ける関数は、第一引数を省略して記述すればよい。

> dtf <- data.frame(no = 1:12, month = month.abb)
> head(dtf)
  no month
1  1   Jan
2  2   Feb
3  3   Mar
4  4   Apr
5  5   May
6  6   Jun
> subset(dtf, no == 3 | no == 4)
  no month
3  3   Mar
4  4   Apr
> dtf %>% subset(no == 3 | no == 4)
  no month
3  3   Mar
4  4   Apr

パイプを使う

バージョン4.0.5までは標準で搭載されておらず、magrittrパッケージを導入すれば%>%演算子でパイプを実現することができた。この次のバージョン(4.1.0)からはパイプの機能が標準搭載され、|>演算子を使うことでパイプを実現することができる。

> R.Version()$version.string
[1] "R version 4.0.5 (2021-03-31)"
> s <- c("鈴木みのり", "野口瑠璃子", "和多田美咲")
> s |> sort()
 エラー:  予想外の '>' です  in "s |>"
> library(magrittr)
> s %>% sort()
[1] "野口瑠璃子" "鈴木みのり" "和多田美咲"

バージョン4.1.0では以下のとおり。

> R.Version()$version.string
[1] "R version 4.1.0 (2021-05-18)"
> s <- c("鈴木みのり", "野口瑠璃子", "和多田美咲")
> s |> sort()
[1] "野口瑠璃子" "鈴木みのり" "和多田美咲"

条件式で条件を設定してエラーを出す

stopifnot関数を使う。引数に与えた一つ以上の式が一つでもFALSEの場合は、エラーを出す。スクリプトでうまく使えばデバッグに利用できる。

> no <- 58
> umamusume <- "メイショウドトウ"
> cv <- "和多田美咲"
> stopifnot(no == 58)
> stopifnot(no == 58, umamusume == "メイショウドトウ")
> stopifnot(no == 58, umamusume == "メイショウドトウ", cv == "石見舞菜香")
 エラー:  cv == "石見舞菜香" は TRUE ではありません 
> for (i in 1:5) {stopifnot(i < 3); cat(i, "\n")}
1 
2 
 エラー:  i < 3 は TRUE ではありません
「演算子と制御構文」をウィキ内検索
LINE
シェア
Tweet
R入門
記事メニュー

メニュー

  • トップページ
  • Rとは
  • Rを使ってみる
  • 画面出力と入力
  • 変数とオブジェクト
  • ベクトル
  • 演算子と制御構文
  • 数と式
  • 文字と文字列
  • 正規表現
  • 日付と時刻
  • データフレーム
  • tidyverse
  • リスト
  • ファイルの入出力
  • ファイル・ディレクトリ
  • 実行とデバッグ
  • 数学
  • 行列
  • 関数
  • 統計学
  • 統計解析
  • 数値計算
  • 応用
  • 時系列解析
  • 地理空間情報
  • Rの操作
  • データベース
  • パッケージ

  • 環境
  • インターネット
  • 作図
  • 画像

  • 本の計算を再現
  • セイバーメトリクス
  • その他


ここを編集
記事メニュー2

更新履歴

取得中です。

ここを編集
人気記事ランキング
  1. ファイル・ディレクトリ
  2. 入門 統計解析 [医学・自然科学編](東京図書)
もっと見る
最近更新されたページ
  • 1日前

    リスト
  • 19日前

    行列
  • 22日前

    tidyverse
  • 60日前

    インターネット
  • 71日前

    日付と時刻
  • 71日前

    応用
  • 71日前

    文字と文字列
  • 88日前

    変数とオブジェクト
  • 131日前

    その他
  • 132日前

    画像
もっと見る
人気記事ランキング
  1. ファイル・ディレクトリ
  2. 入門 統計解析 [医学・自然科学編](東京図書)
もっと見る
最近更新されたページ
  • 1日前

    リスト
  • 19日前

    行列
  • 22日前

    tidyverse
  • 60日前

    インターネット
  • 71日前

    日付と時刻
  • 71日前

    応用
  • 71日前

    文字と文字列
  • 88日前

    変数とオブジェクト
  • 131日前

    その他
  • 132日前

    画像
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. GTA5 MADTOWN(β)まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. SYNDUALITY Echo of Ada 攻略 ウィキ
  6. ガンダムGQuuuuuuX 乃木坂46部@wiki
  7. ドタバタ王子くん攻略サイト
  8. 星飼いの詩@ ウィキ
  9. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  10. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  6. 発車メロディーwiki
  7. MadTown GTA (Beta) まとめウィキ
  8. 検索してはいけない言葉 @ ウィキ
  9. オレカバトル アプリ版 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. anbrella(餡ブレラ) - ストグラ まとめ @ウィキ
  2. アルフォート ウェスカー - ストグラ まとめ @ウィキ
  3. 参加者一覧 - ストグラ まとめ @ウィキ
  4. 栖家幡 華憐 - ストグラ まとめ @ウィキ
  5. キャプテン わきを - ストグラ まとめ @ウィキ
  6. アーモンド サラザール - ストグラ まとめ @ウィキ
  7. ギャング - ストグラ まとめ @ウィキ
  8. 敵情報_第2章 - モンスター烈伝オレカバトル2@wiki
  9. オザワ ハヤマサ - ストグラ まとめ @ウィキ
  10. 刃牙 りえる - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.