as_tibble()
将现有对象(例如 DataFrame 或矩阵)转换为所谓的 tibble,即具有 tbl_df
类的 DataFrame 。这与 tibble()
形成对比,tibble()
从各个列构建 tibble。 as_tibble()
对应于 tibble()
就像 base::as.data.frame()
对应于 base::data.frame()
。
as_tibble()
是 S3 泛型,具有以下方法:
-
data.frame
:围绕list
方法的薄包装器,该方法实现 tibble 对 rownames 的处理。 -
默认:其他输入首先使用
base::as.data.frame()
进行强制。
as_tibble_row()
将向量转换为一行的 tibble。如果输入是列表,则所有元素的大小都必须为 1。
as_tibble_col()
将向量转换为一列的 tibble。
用法
as_tibble(
x,
...,
.rows = NULL,
.name_repair = c("check_unique", "unique", "universal", "minimal"),
rownames = pkgconfig::get_config("tibble::rownames", NULL)
)
# S3 method for data.frame
as_tibble(
x,
validate = NULL,
...,
.rows = NULL,
.name_repair = c("check_unique", "unique", "universal", "minimal"),
rownames = pkgconfig::get_config("tibble::rownames", NULL)
)
# S3 method for list
as_tibble(
x,
validate = NULL,
...,
.rows = NULL,
.name_repair = c("check_unique", "unique", "universal", "minimal")
)
# S3 method for matrix
as_tibble(x, ..., validate = NULL, .name_repair = NULL)
# S3 method for table
as_tibble(x, `_n` = "n", ..., n = `_n`, .name_repair = "check_unique")
# S3 method for NULL
as_tibble(x, ...)
# S3 method for default
as_tibble(x, ...)
as_tibble_row(
x,
.name_repair = c("check_unique", "unique", "universal", "minimal")
)
as_tibble_col(x, column_name = "value")
参数
- x
-
可以合理地强制为 tibble 的 DataFrame 、列表、矩阵或其他对象。
- ...
-
未使用,用于扩展。
- .rows
-
行数,可用于创建 0 列 tibble 或仅作为附加检查。
- .name_repair
-
有问题的列名的处理:
-
"minimal"
:没有名称修复或检查,超出基本存在, -
"unique"
:确保名称唯一且不为空, -
"check_unique"
:(默认值),没有名称修复,但检查它们是unique
, -
"universal"
:命名为unique
和语法 -
函数:应用自定义名称修复(例如,
.name_repair = make.names
用于基本 R 样式的名称)。 -
purrr-style 匿名函数,请参阅
rlang::as_function()
此参数作为
repair
传递到vctrs::vec_as_names()
。有关这些条款以及用于执行这些条款的策略的更多详细信息,请参阅此处。 -
- rownames
-
如何处理 DataFrame 或矩阵的现有行名称:
-
NULL
:删除行名称。这是默认设置。 -
NA
:保留行名称。 -
字符串:新列的名称。现有行名将传输到此列中,并且
row.names
属性将被删除。即使x
已包含该名称的列,也不会对新列名称应用名称修复。使用as_tibble(rownames_to_column(...))
来防范这种情况。
阅读rownames了解更多内容。
-
- _n, validate
-
仅出于兼容性目的,请勿用于新代码。
- n
-
计数列的名称,默认值:
"n"
。 - column_name
-
列的名称。
行名称
默认行为是静默删除行名称。
新代码应使用 rownames
参数将行名称显式转换为新列。
对于依赖行名称保留的现有代码,请在脚本或包的 .onLoad()
函数中调用 pkgconfig::set_config("tibble::rownames" = NA)
。
也可以看看
tibble()
从各个列构造一个 tibble。 enframe()
将命名向量转换为包含一列名称和一列值的 tibble。名称修复是使用 vctrs::vec_as_names()
实现的。
例子
m <- matrix(rnorm(50), ncol = 5)
colnames(m) <- c("a", "b", "c", "d", "e")
df <- as_tibble(m)
as_tibble_row(c(a = 1, b = 2))
#> # A tibble: 1 × 2
#> a b
#> <dbl> <dbl>
#> 1 1 2
as_tibble_row(list(c = "three", d = list(4:5)))
#> # A tibble: 1 × 2
#> c d
#> <chr> <list>
#> 1 three <int [2]>
as_tibble_row(1:3, .name_repair = "unique")
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> # A tibble: 1 × 3
#> ...1 ...2 ...3
#> <int> <int> <int>
#> 1 1 2 3
as_tibble_col(1:3)
#> # A tibble: 3 × 1
#> value
#> <int>
#> 1 1
#> 2 2
#> 3 3
as_tibble_col(
list(c = "three", d = list(4:5)),
column_name = "data"
)
#> # A tibble: 2 × 1
#> data
#> <named list>
#> 1 <chr [1]>
#> 2 <list [1]>
相关用法
- R tibble add_row 将行添加到 DataFrame
- R tibble add_column 将列添加到 DataFrame
- R tibble tibble 构建 DataFrame 架
- R tibble char 设置字符向量格式
- R tibble frame_matrix 逐行矩阵创建
- R tibble num 设置数值向量的格式
- R tibble rownames 用于处理行名称的工具
- R tibble enframe 将向量转换为数据帧,反之亦然
- R tibble subsetting 子集化标题
- R tibble tibble_options 封装选项
- R tibble lst 建立一个清单
- R tibble formatting 打印小标题
- R tibble new_tibble Tibble 构造函数和验证器
- R tibble tribble 逐行小标题创建
- R tidyr separate_rows 将折叠的列分成多行
- R tidyr extract 使用正则表达式组将字符列提取为多列
- R tidyr chop 砍伐和砍伐
- R tidyr pivot_longer_spec 使用规范将数据从宽转为长
- R tidyr unnest_longer 将列表列取消嵌套到行中
- R tidyr uncount “计数” DataFrame
- R tidyr cms_patient_experience 来自医疗保险和医疗补助服务中心的数据
- R tidyr pivot_wider_spec 使用规范将数据从长轴转向宽轴
- R tidyverse tidyverse_update 更新 tidyverse 软件包
- R tidyr replace_na 将 NA 替换为指定值
- R tidyr unnest_wider 将列表列取消嵌套到列中
注:本文由纯净天空筛选整理自Kirill Müller等大神的英文原创作品 Coerce lists, matrices, and more to data frames。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。