28.关于tibble和data.frame之一

如题所述

第1个回答  2022-06-16

【上一篇:27.总结Explore和资源推荐】
【下一篇:29.关于tibble和data.frame之二】

    tibble是一种更现代的数据框。tibble和传统data.frame之间的相互转换用as_tibble()、as.data.frame()函数实现。查看tibble的简介用vignette("tibble")。

    1) data.frame()函数用于创建传统的数据框,tibble()函数用于创建tibble。 后者可以直接引用以创建的变量生成新变量,data.frame()不可以。

    2) tibble()可以用 non-syntactic name 创建数据框,但要用``括起来, 这样的数据框去做subsetting和绘图的时候,也要注意用``括起来。取子集的时候也注意加上``

    tibble的格式之前简要说过,见: 11.数据转换之了解一些R包和数据集用于学习和练习
    3) 用tribble()函数创建transposed tibble。

    首先,看两个函数的Usage:

    tibble()函数的功能比data.frame()少,tibble()函数不会改变数据的类型(例如,将字符串转成因子);也不会改变变量名;也从不创建行名。
    1. data.frame()函数有个 stringsAsFactors 参数,可以控制要不要把字符串向量转成因子。tibble()函数没有这个功能。
    2. data.frame()函数创建数据框,变量名必须是 syntactic name ,例如不能以数字开头,如果以数字开头会自动加个 X ,也不能是纯数字;而tibble()的变量名是 non-syntactic name ,你创建时候用的啥生成的就是啥,而且还可以是纯数字,还可以是空。例如:

    3. data.frame()有个参数 raw.names ,可以用一个数字或一个字符串(这个字符串是变量名)指定哪一列作为行名,也可以是一个字符向量或整数向量,向量的值作为行名。而tibble()生成的数据框的行名永远是数字而且不能用 rownames() 函数改变行名。

    部分理解可能不对,欢迎指正!

【上一篇:27.总结Explore和资源推荐】
【下一篇:29.关于tibble和data.frame之二】

相似回答