R语言 获取数据框架列的所有因子水平
R中的数据框架列可以在其因子列的基础上被因子化。数据框架因子列是由因子水平组成的。因子是用来表示分类数据的。每个因子由一个级别表示,按照编码的因子级别向量中的字符或字符串的出现的词汇顺序计算。在这篇文章中,我们将讨论如何在R中获得数据框架列的所有因子水平。
R中的hardhat包负责提供预处理、预测和验证输入的功能。它被用来构建建模包。
语法
install.packages(“hardhat”)
该包中的get_levels()方法用于从指定数据框中的任何因子列中提取水平。该方法的主要优势在于从训练集(即本例中的数据框架)中的预测器中提取原始因子水平。它只接受一个数据框架或R中的data.table作为参数,并以向量的形式返回映射到相应因子水平的不同列,如果且仅当数据类型兼容时。
语法
get_levels(data_frame)
列是在因子水平的基础上进行分级的。然而,任何重复的条目都会被删除,因为它们属于同一个因子水平。
例1 :
# getting required libraries
library("hardhat")
# declaring data frame
data_frame <- data.frame(
col1 = letters[4:6],
col3 = c("geeks","for","geeks"))
print ("Original DataFrame")
print (data_frame)
print ("Factors")
get_levels(data_frame)
输出
[1] “Original DataFrame”
col1 col3
1 d geeks
2 e for
3 f geeks
[1] “Factors”
col1
[1] “d” “e” “f”col3
[1] “for” “geeks”
在get_levels()方法中,只有数据框中属于因子类型的列才会返回输出。下面的程序是用来了解数据框中各列的因子水平计算的数据类型兼容性。
例2 :
# getting required libraries
library("hardhat")
# declaring data frame
data_frame <- data.frame(col1 = factor(c(2,4,6)),
col2 = FALSE, col3 = LETTERS[1:3])
print ("Original DataFrame")
print (data_frame)
print ("Factors")
get_levels(data_frame)
输出
col1 col2 col3
1 2 FALSE A
2 4 FALSE B
3 6 FALSE C
[1] “Factors”
col1
[1] “2” “4” “6”col3
[1] “A” “B” “C”
为了产生输出因子(vec),其中vec是不兼容的矢量,可以在列声明和定义时使用。