如何查詢 R 資料框的列類別?


要查詢 R 資料框的列類別,我們可以使用 class 函式以及 sapply 和 as.data.frame 函式。

例如,如果我們有一個名為 DF 的資料框,那麼我們可以使用以下命令查詢 DF 中列的類別:

data.frame(sapply(DF,class))

示例 1

考慮以下資料框:

head(mtcars,20)

建立了以下資料框

                     mpg  cyl   disp   hp  drat     wt   qsec  vs am gear carb
Mazda RX4           21.0    6  160.0  110  3.90  2.620  16.46   0  1    4    4
Mazda RX4 Wag       21.0    6  160.0  110  3.90  2.875  17.02   0  1    4    4 
Datsun 710          22.8    4  108.0   93  3.85  2.320  18.61   1  1    4    1
Hornet 4 Drive      21.4    6  258.0  110  3.08  3.215  19.44   1  0    3    1
Hornet Sportabout   18.7    8  360.0  175  3.15  3.440  17.02   0  0    3    2
Valiant             18.1    6  225.0  105  2.76  3.460  20.22   1  0    3    1
Duster 360          14.3    8  360.0  245  3.21  3.570  15.84   0  0    3    4
Merc 240D           24.4    4  146.7   62  3.69  3.190  20.00   1  0    4    2
Merc 230            22.8    4  140.8   95  3.92  3.150  22.90   1  0    4    2
Merc 280            19.2    6  167.6  123  3.92  3.440  18.30   1  0    4    4
Merc 280C           17.8    6  167.6  123  3.92  3.440  18.90   1  0    4    4
Merc 450SE          16.4    8  275.8  180  3.07  4.070  17.40   0  0    3    3
Merc 450SL          17.3    8  275.8  180  3.07  3.730  17.60   0  0    3    3
Merc 450SLC         15.2    8  275.8  180  3.07  3.780  18.00   0  0    3    3
Cadillac Fleetwood  10.4    8  472.0  205  2.93  5.250  17.98   0  0    3    4
Lincoln Continental 10.4    8  460.0  215  3.00  5.424  17.82   0  0    3    4
Chrysler Imperial   14.7    8  440.0  230  3.23  5.345  17.42   0  0    3    4
Fiat 128            32.4    4   78.7   66  4.08  2.200  19.47   1  1    4    1
Honda Civic         30.4    4   75.7   52  4.93  1.615  18.52   1  1    4    2
Toyota Corolla      33.9    4   71.1   65  4.22  1.835  19.90   1  1    4    1

要檢查上面建立的資料框中 mtcars 中列的類別,請將以下程式碼新增到上面的程式碼段中:

as.data.frame(sapply(mtcars,class))

輸出

如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:


     sapply(mtcars, class)
mpg              numeric
cyl              numeric
disp             numeric
hp               numeric
drat             numeric
wt               numeric
qsec             numeric
vs               numeric
am               numeric
gear             numeric
carb             numeric

示例 2

考慮以下資料框:

head(CO2,20)

如果執行上述程式碼段,則會生成以下輸出:

  Plant    Type   Treatment   conc   uptake
1   Qn1  Quebec  nonchilled     95     16.0
2   Qn1  Quebec  nonchilled    175     30.4
3   Qn1  Quebec  nonchilled    250     34.8
4   Qn1  Quebec  nonchilled    350     37.2
5   Qn1  Quebec  nonchilled    500     35.3
6   Qn1  Quebec  nonchilled    675     39.2
7   Qn1  Quebec  nonchilled   1000     39.7
8   Qn2  Quebec  nonchilled     95     13.6
9   Qn2  Quebec  nonchilled    175     27.3
10  Qn2  Quebec  nonchilled    250     37.1
11  Qn2  Quebec  nonchilled    350     41.8
12  Qn2  Quebec  nonchilled    500     40.6
13  Qn2  Quebec  nonchilled    675     41.4
14  Qn2  Quebec  nonchilled   1000     44.3
15  Qn3  Quebec  nonchilled     95     16.2
16  Qn3  Quebec  nonchilled    175     32.4
17  Qn3  Quebec  nonchilled    250     40.3
18  Qn3  Quebec  nonchilled    350     42.1
19  Qn3  Quebec  nonchilled    500     42.9
20  Qn3  Quebec  nonchilled    675     43.9

要檢查上面建立的資料框中 CO2 中列的類別,請將以下程式碼新增到上面的程式碼段中:

as.data.frame(sapply(CO2,class))

輸出

如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:

    Plant  Type Treatment    conc  uptake
1 ordered factor   factor numeric numeric
2 factor  factor   factor numeric numeric

示例 3

考慮以下資料框:

head(sleep,20)

輸出

如果執行上述程式碼段,則會生成以下輸出:

   extra group ID
1    0.7     1  1
2   -1.6     1  2
3   -0.2     1  3
4   -1.2     1  4
5   -0.1     1  5
6    3.4     1  6
7    3.7     1  7
8    0.8     1  8
9    0.0     1  9
10   2.0     1 10
11   1.9     2  1
12   0.8     2  2
13   1.1     2  3
14   0.1     2  4
15  -0.1     2  5
16   4.4     2  6
17   5.5     2  7
18   1.6     2  8
19   4.6     2  9
20   3.4     2 10

要檢查上面建立的資料框中 sleep 中列的類別,請將以下程式碼新增到上面的程式碼段中:

as.data.frame(sapply(sleep,class))

輸出

如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:

       sapply(sleep, class)
extra              numeric
group               factor
ID                  factor

更新於: 2021年10月28日

6K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.