如何仅从R数据框中提取因子列名称?

要仅从R数据框中提取因子列名称,可以通过使用as.factor仅选择因子列来将名称函数与Filter结合使用。例如,如果我们有一个名为df的数据框,其中包含一些因子列,则可以使用names(Filter(is.factor,df))提取这些因子列的名称。

考虑以下数据帧-

示例

x1<-factor(sample(c("Male","Female"),20,replace=TRUE))

x2<-rpois(20,5)

df1<-data.frame(x1,x2)

df1

输出结果
    x1    x2

1 Female  4

2   Male  7

3   Male  9

4 Female  3

5   Male  10

6 Female  4

7 Female  2

8 Female  1

9 Female  6

10 Female 7

11 Female 5

12   Male 5

13   Male 6

14 Female 4

15   Male 7

16   Male 3

17   Male 2

18   Male 4

19   Male 9

20 Female 6

提取因子列df1的名称-

名称(Filter(is.factor,df1))

[1] "x1"

示例

y1<-rnorm(20)

y2<-rnorm(20,524,32.14)

y3<-factor(sample(c("Hot","Cold"),20,replace=TRUE))

df2<-data.frame(y1,y2,y3)

df2

输出结果
      y1            y2        y3

1   1.14683171   494.4162    Hot

2   0.91868842   580.5509    Hot

3   -0.17573235  534.0396    Cold

4   -0.02975191  488.0148    Cold

5   -0.26811263  492.4373    Hot

6   0.66937789   458.3491    Hot

7   0.47413241   488.5430    Cold

8  0.28988748   495.5700     Hot

9  -0.29068059   509.0902    Cold

10  -0.88108903  484.8437    Hot

11  -0.33612356  535.9354    Hot

12  0.40103781   510.7365    Hot

13  -0.92194471  521.3352    Hot

14  1.25918659   520.2907    Hot

15  -1.22533456  443.9293    Cold

16  1.81055353   494.4451    Hot

17  0.43367087   530.8559    Cold

18  1.63945140   489.3504    Cold

19  -1.55321040   541.3161   Cold

20  -1.02131445   510.2723   Cold

提取因子列df2的名称-

名称(Filter(is.factor,df2))

[1] "y3"

以上是 如何仅从R数据框中提取因子列名称? 的全部内容, 来源链接: utcz.com/z/352305.html

回到顶部