如何查找 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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告