创建或验证 tibble 的子类。这些函数对于实现 tibble 子类的包作者非常有用,例如顺丰或者蒂布尔.
new_tibble()
创建一个新对象作为 tbl_df
、 tbl
和 data.frame
的子类。该函数针对性能进行了优化,检查次数减少到最少。有关详细信息,请参阅vctrs::new_data_frame()
。
validate_tibble()
检查 tibble 的内部一致性。仅当该函数运行时不会引发错误,才能保证正确的行为。
参数
- x
-
一个tibble-like对象。
- ...
-
Name-value 附加属性对。
- nrow
-
行数,如果省略,则从
x
推断。 - class
-
分配给新对象的子类,默认值:无。
- subclass
-
已弃用,为了兼容性而保留。请使用
class
参数。
建造
对于 new_tibble()
, x
必须是列表。从 tibble 3.1.4 开始,nrow
参数可以被省略。如果存在,列表 x
中的每个元素的 vctrs::vec_size()
都应该等于该值。 (但这不是由构造函数检查的)。它取代了数据帧中的 "row.names" 属性。 x
必须有名称(或为空),但不会检查名称的正确性。
验证
validate_tibble()
检查 "minimal" 名称以及所有列是否为向量、数据帧或矩阵。它还确保所有列具有相同的长度,并且 vctrs::vec_size()
与数据一致。
也可以看看
tibble()
和 as_tibble()
用于通过标量回收和自动名称修复来构造 tibble 的方法,以及 vctrs::df_list()
和 vctrs::new_data_frame()
用于 lower-level 实现。
例子
# The nrow argument can be omitted:
new_tibble(list(a = 1:3, b = 4:6))
#> # A tibble: 3 × 2
#> a b
#> <int> <int>
#> 1 1 4
#> 2 2 5
#> 3 3 6
# Existing row.names attributes are ignored:
try(validate_tibble(new_tibble(trees, nrow = 3)))
#> Error in validate_nrow(names(x), col_lengths(x), vec_size(x)) :
#> Tibble columns must have compatible sizes.
#> • Size 3: Requested with `nrow` argument.
#> • Size 31: Columns `Girth`, `Height`, and `Volume`.
#> ℹ Only values of size one are recycled.
# The length of all columns must be compatible with the nrow argument:
try(validate_tibble(new_tibble(list(a = 1:3, b = 4:6), nrow = 2)))
#> Error in validate_nrow(names(x), col_lengths(x), vec_size(x)) :
#> Tibble columns must have compatible sizes.
#> • Size 2: Requested with `nrow` argument.
#> • Size 3: Columns `a` and `b`.
#> ℹ Only values of size one are recycled.
相关用法
- R tibble num 设置数值向量的格式
- R tibble tibble 构建 DataFrame 架
- R tibble char 设置字符向量格式
- R tibble frame_matrix 逐行矩阵创建
- R tibble rownames 用于处理行名称的工具
- R tibble enframe 将向量转换为数据帧,反之亦然
- R tibble add_row 将行添加到 DataFrame
- R tibble as_tibble 将列表、矩阵等强制转换为 DataFrame
- R tibble subsetting 子集化标题
- R tibble tibble_options 封装选项
- R tibble add_column 将列添加到 DataFrame
- R tibble lst 建立一个清单
- R tibble formatting 打印小标题
- 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等大神的英文原创作品 Tibble constructor and validator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。