基函数 as.factor()
不是泛型函数,但 forcats::as_factor()
是泛型函数。 Haven 为 labelled()
和 labelled_spss()
向量和数据帧提供了 as_factor()
方法。默认情况下,当应用于 DataFrame 时,它仅影响带标签的列。
用法
# S3 method for data.frame
as_factor(x, ..., only_labelled = TRUE)
# S3 method for haven_labelled
as_factor(
x,
levels = c("default", "labels", "values", "both"),
ordered = FALSE,
...
)
# S3 method for labelled
as_factor(
x,
levels = c("default", "labels", "values", "both"),
ordered = FALSE,
...
)
参数
- x
-
反对强制某个因子。
- ...
-
其他参数传递给方法。
- only_labelled
-
只适用于带标签的列?
- levels
-
如何创建生成因子的级别:
-
"default":如果可用,则使用标签,否则使用值。标签按值排序。
-
"both":与"default"类似,但将级别和值粘贴在一起
-
"label":仅使用标签;未标记的值变为
NA
-
“值:仅使用值
-
- ordered
-
如果
TRUE
创建一个有序(序数)因子,如果FALSE
(默认)创建一个常规(名义)因子。
例子
x <- labelled(sample(5, 10, replace = TRUE), c(Bad = 1, Good = 5))
# Default method uses values where available
as_factor(x)
#> [1] 3 4 4 Bad 2 3 Bad 3 Bad 3
#> Levels: Bad 2 3 4 Good
# You can also extract just the labels
as_factor(x, levels = "labels")
#> [1] <NA> <NA> <NA> Bad <NA> <NA> Bad <NA> Bad <NA>
#> Levels: Bad Good
# Or just the values
as_factor(x, levels = "values")
#> [1] 3 4 4 1 2 3 1 3 1 3
#> Levels: 1 2 3 4
# Or combine value and label
as_factor(x, levels = "both")
#> [1] 3 4 4 [1] Bad 2 3 [1] Bad 3
#> [9] [1] Bad 3
#> Levels: [1] Bad 2 3 4 [5] Good
# as_factor() will preserve SPSS missing values from values and ranges
y <- labelled_spss(1:10, na_values = c(2, 4), na_range = c(8, 10))
as_factor(y)
#> [1] 1 2 3 4 5 6 7 8 9 10
#> Levels: 1 2 3 4 5 6 7 8 9 10
# use zap_missing() first to convert to NAs
zap_missing(y)
#> [1] 1 NA 3 NA 5 6 7 NA NA NA
#> attr(,"class")
#> [1] "haven_labelled"
as_factor(zap_missing(y))
#> [1] 1 <NA> 3 <NA> 5 6 7 <NA> <NA> <NA>
#> Levels: 1 3 5 6 7
相关用法
- R haven read_xpt 读写 SAS 传输文件
- R haven zap_missing 将特殊缺失修改为常规 R 缺失
- R haven print_labels 打印带标签向量的标签
- R haven tagged_na “标记”缺失值
- R haven zap_label Zap 变量标签
- R haven read_sas 读取 SAS 文件
- R haven labelled 创建一个标记向量。
- R haven read_dta 读写Stata DTA文件
- R haven read_spss 读取和写入 SPSS 文件
- R haven zap_empty 将空字符串转换为缺失值
- R haven labelled_spss SPSS 的标记向量
- R haven zap_labels Zap值标签
- R SparkR hashCode用法及代码示例
- R hms hms 用于存储一天中的时间值的简单类
- R SparkR hint用法及代码示例
- R hms parse_hms 解析 hms 值
- R SparkR histogram用法及代码示例
- R SparkR head用法及代码示例
- R hms round_hms 四舍五入或截断为秒的倍数
- R dtrMatrix-class 三角形稠密数值矩阵
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R ggplot2 annotation_logticks 注释:记录刻度线
- R matrix转list用法及代码示例
- R Pixel X 射线像素强度随时间的变化
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Convert labelled vectors to factors。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。