R DataFrame の列数を取得する

R Dataframe No Lie Shuwo Qu Desuru



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 から列数を取得するさまざまな方法を理解できました。