Rのdplyrパッケージのgroup_by関数は指定した列をグルーピングできるので便利ですが、文字列を指定できません。
このパッケージのgroup_by_関数は文字列を指定できますが、複数の文字列を指定する場合には少し工夫が必要になります。

ここでは、異なるダイエットの雛の体重と年齢が収められているChickWeightをサンプルデータとします。


> library(dplyr)
> data(ChickWeight)
> str(ChickWeight)
Classes ‘nfnGroupedData’, ‘nfGroupedData’, ‘groupedData’ and 'data.frame':	578 obs. of  4 variables:
 $ weight: num  42 51 59 64 76 93 106 125 149 171 ...
 $ Time  : num  0 2 4 6 8 10 12 14 16 18 ...
 $ Chick : Ord.factor w/ 50 levels "18"<"16"<"15"<..: 15 15 15 15 15 15 15 15 15 15 ...
 $ Diet  : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
 - attr(*, "formula")=Class 'formula'  language weight ~ Time | Chick
  .. ..- attr(*, ".Environment")= 
 - attr(*, "outer")=Class 'formula'  language ~Diet
  .. ..- attr(*, ".Environment")= 
 - attr(*, "labels")=List of 2
  ..$ x: chr "Time"
  ..$ y: chr "Body weight"
 - attr(*, "units")=List of 2
  ..$ x: chr "(days)"
  ..$ y: chr "(gm)"

このデータは、Chick列とDiet列がFactorとなっていますので、この列を文字列としてグルーピングするコードは次のようになります。
ここでは、新たにn列をグルーピングされた集合の度数として追加しました。


> ChickWeight %>% group_by_(.dots = lapply(c("Chick", "Diet"), as.symbol)) %>% summarise(n = n())
# A tibble: 50 x 3
# Groups:   Chick [?]
   Chick Diet      n
     
 1 18    1         2
 2 16    1         7
 3 15    1         8
 4 13    1        12
 5 9     1        12
 6 20    1        12
 7 10    1        12
 8 8     1        11
 9 17    1        12
10 19    1        12
# ... with 40 more rows

関連する記事

  • R言語 CRAN Task View:RデータベースR言語 CRAN Task View:Rデータベース CRAN Task View: Databases with Rの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Yuan Tang Contact: terrytangyuan at […]
  • RStudioのGlobal Optionsの各種設定RStudioのGlobal Optionsの各種設定 RStudioのGlobal Optionsにどのような内容が記載されているかをお伝えいたします。 RStudioのGlobal Optionsは、メニューバーからToolsを選択して、表示されたポップアップ内にあります。 目次 General: 一般 Code: コード Editing: 編集 Display: 表示 […]
  • アンケートの自由記述からニーズを抽出する方法アンケートの自由記述からニーズを抽出する方法 アンケートは様々な場面で有効活用されていると思うが、特に、「年齢」などの数量回答や、「男性・女性」、「満足度の5段階評価」などの単一回答、「購入動機を3つまで回答してください」などの複数回答は、集計や分析がしやすいため、重点的に活用していることだろう。 回答者の立場で考えると、数量回答・単一回答・複数回答は、設問者からの問いかけに対し、返答があらかじめ用意されていること […]
  • RaspberryPi Bluetoothスピーカーで音を出す方法 Raspberry Pi 3 Model B を用いてBluetoothスピーカーと接続した後、aplayコマンドがエラー出して音が出なかった問題の対応を備忘録として残しておく。 以下はすべてSSH接続によるCUIで行っている。 環境:Raspbian GNU/Linux 8.0 […]
  • R データフレームのファクター列を2値に変換する方法 Rのデータフレームにおいて、ファクター列を2値に変換する方法をお伝えいたします。 方法はとても単純で、データフレームの列ごとにファクター型かどうかをチェックし、ファクター型であればファクターごとに2値の列を新たに作成し追加します。 ソースコードは以下のようになります。 convertFactorToBinary <- function(df, sep = […]
R dplyrパッケージのgroup_by_関数で複数の文字列を指定する方法