←
PDF 146 / 520 other R packages use regular data frames, so you might want to coerce a data frame to a tibble.
→
English · PDF 146
Original PDF page 146
中文 · PDF 146

其他 R 包使用普通的数据框,因此你可能希望将数据框强制转换为 tibble。你可以使用 as_tibble() 来做到这一点:

as_tibble(iris) #> # A tibble: 150 × 5 #> Sepal.Length Sepal.Width Petal.Length Petal.Width Species #> #> 1 5.1 3.5 1.4 0.2 setosa #> 2 4.9 3.0 1.4 0.2 setosa #> 3 4.7 3.2 1.3 0.2 setosa #> 4 4.6 3.1 1.5 0.2 setosa #> 5 5.0 3.6 1.4 0.2 setosa #> 6 5.4 3.9 1.7 0.4 setosa #> # ... 还有 144 行

你可以使用 tibble() 从单独的向量创建新的 tibble。tibble() 会自动循环使用长度为 1 的输入,并允许你引用刚刚创建的变量,如下所示:

tibble( x = 1:5, y = 1, z = x ^ 2 + y ) #> # A tibble: 5 × 3 #> x y z #> #> 1 1 1 2 #> 2 2 1 5 #> 3 3 1 10 #> 4 4 1 17 #> 5 5 1 26

如果你已经熟悉 data.frame(),请注意 tibble() 做的事情要少得多:它从不改变输入的类型(例如,它从不将字符串转换为因子!),它从不改变变量的名称,也从不创建行名。

tibble 的列名有可能不是有效的 R 变量名,即所谓的非语法名称。例如,它们可能不以字母开头,或者可能包含空格等不常见的字符。要引用这些变量,你需要用反引号 ` 将它们括起来:

tb <- tibble( :) = "smile", = "space", 2000 = "number" ) tb