R では、列数の取得は、DataFrame を操作する際の多くの状況で必要となる基本操作です。データのサブセット化、分析、操作、公開、視覚化を行う場合、列数は知っておくべき重要な情報です。したがって、R は、指定された DataFrame の列の合計を取得するためのさまざまなアプローチを提供します。この記事では、DataFrame の列数を取得するのに役立ついくつかのアプローチについて説明します。
例 1: Ncol() 関数の使用
ncol() は、DataFrame の列の合計を取得する最も頻繁に使用される関数です。
df <- data.frame('y1' = c(10, 12, 14, 19),
'y2' = c(15, 22, 24, 29)、
'y3' = c(25, 32, 34, 39))
n <- ncol(df)
cat('-----データ フレームの列数 :', n)
この例では、最初に、R の data.frame() 関数を使用して、「y1」、「y2」、および「y3」というラベルが付けられた 3 つの列を持つ「df」データフレームを作成します。各列の要素は、次を使用して指定されます。要素のベクトルを作成する c() 関数。次に、「n」変数を使用して、ncol() 関数を使用して「df」データフレーム内の列の合計を決定します。最後に、説明メッセージと「n」変数を使用して、提供された cat() 関数によって結果がコンソールに出力されます。
予想どおり、取得された出力は、指定された DataFrame に 3 つの列があることを示しています。
例 2: 空のデータフレームの合計列をカウントする
次に、ncol() 関数を空の DataFrame に適用します。これにより合計列の値も取得されますが、その値はゼロです。
empty_df <- data.frame()n <- ncol(empty_df)
cat('---データ フレーム内の列 :', n)
この例では、列または行を指定せずに data.frame() を呼び出して、空のデータフレーム「empty_df」を生成します。次に、DataFrame 内の列数を見つけるために使用される ncol() 関数を使用します。ここでは、列の合計を取得するために、ncol() 関数に「empty_df」データフレームが設定されています。 「empty_df」データフレームは空であるため、列がありません。したがって、ncol(empty_df) の出力は 0 です。結果は、ここでデプロイされている cat() 関数によって表示されます。
DataFrame が空であるため、出力には予想どおり値「0」が表示されます。
例 3: Select_If() 関数と Length() 関数の使用
特定の型の列数を取得したい場合は、select_if() 関数を R の length() 関数と組み合わせて使用する必要があります。これらの関数は、各型の列の合計を取得するために組み合わせて使用されます。 。これらの関数を使用するコードは次のように実装されています。
ライブラリ(dplyr)x1<-文字[1:10]
x2<-rpois(10,2)
x3<-rpois(10,5)
x4<-sample(c('夏','冬'),10,replace=TRUE)
df1<-data.frame(x1,x2,x3,x4)
df1
length(select_if(df1,is.numeric))
この例では、最初に dplyr パッケージをロードして、select_if() 関数と length() 関数にアクセスできるようにします。次に、4 つの変数 (それぞれ「x1」、「x2」、「x3」、「x4」) を作成します。ここで、「x1」には英語のアルファベットの大文字の最初の 10 文字が含まれます。 「x2」変数と「x3」変数は、rpois() 関数を使用して生成され、それぞれパラメータ 2 と 5 を持つ 10 個の乱数の 2 つの別々のベクトルを作成します。 「x4」変数は、ベクトル c (「夏」、「冬」) からランダムにサンプリングされた 10 個の要素を持つ因子ベクトルです。
次に、すべての変数が data.frame() 関数に渡される「df1」データフレームの作成を試みます。最後に、length() 関数を呼び出して、dplyr パッケージの select_if() 関数を使用して作成される「df1」データフレームの長さを決定します。 select_if() 関数は引数として「df1」データフレームから列を選択し、is.numeric() 関数は数値を含む列のみを選択します。次に、length() 関数は、コード全体の出力である select_if() によって選択された列の合計を取得します。
列の長さは、DataFrame の合計列を示す次の出力に示されています。
例 4: Sapply() 関数の使用
逆に、列の欠損値のみをカウントしたい場合は、sapply() 関数を使用します。 sapply() 関数は、DataFrame の各列を反復処理して具体的に操作します。 sapply() 関数は、最初に DataFrame を引数として渡します。次に、その DataFrame に対して操作を実行します。 DataFrame 列の NA 値の数を取得する sapply() 関数の実装は、次のように提供されます。
new_df <- data.frame(c1 = c(10, 11, NA, 13, NA),c2 = c('N', NA, 'A', 'M', 'E'),
c3 = c(NA, 92, NA, NA, 95))
sapply(new_df, function(x) sum(is.na(x)))
この例では、「c1」、「c2」、「c3」の 3 つの列を持つ「new_df」データフレームを生成します。最初の列「c1」と「c3」には、NA で表される欠損値を含む数値が含まれます。 2 番目の列「c2」には、欠損値を含む文字が含まれており、これも NA で表されます。次に、sapply() 関数を「new_df」データフレームに適用し、sapply() 関数内の sum() 式を使用して各列の欠損値の数を計算します。
is.na() 関数は、列内の各要素が欠落しているかどうかを示す論理ベクトルを返す sum() 関数に指定される式です。 sum() 関数は、TRUE 値を合計して、各列の欠損値の数を数えます。
したがって、出力では、各列に合計 NA 値が表示されます。
例 5: Dim() 関数の使用
さらに、DataFrame の行とともに合計列を取得したいと考えています。次に、 dim() 関数は DataFrame の寸法を提供します。 dim() 関数は、次元を取得したいオブジェクトを引数として受け取ります。 dim() 関数を使用するコードは次のとおりです。
d1 <- data.frame(チーム=c('t1', 't2', 't3', 't4'),ポイント=c(8, 10, 7, 4))
寸法(d1)
この例では、まず data.frame() 関数を使用して生成される「d1」データフレームを定義します。このデータフレームには「チーム」と「ポイント」の 2 つの列が設定されます。その後、「d1」データフレームに対して dim() 関数を呼び出します。 dim() 関数は、DataFrame の行数と列数を返します。したがって、dim(d1) を実行すると、2 つの要素を含むベクトルが返されます。最初の要素は「d1」データフレームの行数を反映し、2 番目の要素は列数を表します。
出力は DataFrame の次元を表します。値「4」は合計列を示し、値「2」は行を表します。
結論
R の列数をカウントすることは、DataFrame で実行できる単純かつ重要な操作であることがわかりました。すべての関数の中で、ncol() 関数が最も便利な方法です。これで、指定された DataFrame から列数を取得するさまざまな方法を理解できました。