J. *_*ini 1 r names tibble r-rownames
mtcars显然有行名称:
> head(mtcars)\n mpg cyl disp hp drat wt qsec vs am gear carb\nMazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4\nMazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4\nDatsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1\nHornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1\nHornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2\nValiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1\nRun Code Online (Sandbox Code Playgroud)\n的文档as_tibble告诉我,如果我设置,rownames = NA我将得到以下行为:NA: keep row names。我试过这个:
> as_tibble(mtcars, rownames = NA)\n# A tibble: 32 x 11\n mpg cyl disp hp drat wt qsec vs am gear carb\n * <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>\n 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4\n 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4\n 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1\n 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1\n 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2\n 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1\n 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4\n 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2\n 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2\n10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4\n# \xe2\x80\xa6 with 22 more rows\nRun Code Online (Sandbox Code Playgroud)\n显然,行名称无处可见。默认行为,即as_tibble(mtcars,rownames = NULL)(等效地, )产生相同的输出,但删除了上方和左侧的as_tibble(mtcars)星号。1<dbl>
如果我使用 , 的第三个也是最后一个选项rownames,as_tibble(mtcars,rownames = "String here")我最终可以保留行名称:
> as_tibble(mtcars,rownames = "String here")\n# A tibble: 32 x 12\n `String here` mpg cyl disp hp drat wt qsec vs am gear carb\n <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>\n 1 Mazda RX4 21 6 160 110 3.9 2.62 16.5 0 1 4 4\n 2 Mazda RX4 Wag 21 6 160 110 3.9 2.88 17.0 0 1 4 4\n 3 Datsun 710 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1\n 4 Hornet 4 Drive 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1\n 5 Hornet Sportabout 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2\n 6 Valiant 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1\n 7 Duster 360 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4\n 8 Merc 240D 24.4 4 147. 62 3.69 3.19 20 1 0 4 2\n 9 Merc 230 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2\n10 Merc 280 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4\n# \xe2\x80\xa6 with 22 more rows\nRun Code Online (Sandbox Code Playgroud)\n但为什么最后一步是必要的呢?文档说,如果我设置rownames = NA,那么我将得到以下行为:NA: keep row names。这个示例如何阻止rownames = NA保留行名称,正如文档声称的那样?
小智 8
使用as_tibble(mtcars, rownames = NA)你确实保留了行名,但它们是不可见的。
library(tidyverse)
as_tibble(mtcars, rownames = NA) %>%
rownames_to_column()
#> # A tibble: 32 x 12
#> rowname mpg cyl disp hp drat wt qsec vs am gear carb
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 Mazda RX4 21 6 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 Mazda RX4 ~ 21 6 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 Datsun 710 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 Hornet 4 D~ 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
#> 5 Hornet Spo~ 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 Valiant 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
#> 7 Duster 360 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 8 Merc 240D 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 9 Merc 230 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 10 Merc 280 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
#> # ... with 22 more rows
Run Code Online (Sandbox Code Playgroud)
rownames_to_column()检查不使用时输出的差异rownames = NA
as_tibble(mtcars) %>%
rownames_to_column()
#> # A tibble: 32 x 12
#> rowname mpg cyl disp hp drat wt qsec vs am gear carb
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
#> 5 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
#> 7 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 8 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 9 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 10 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
#> # ... with 22 more rows
Run Code Online (Sandbox Code Playgroud)
由reprex 包于 2021 年 3 月 2 日创建(v1.0.0)