【发布时间】:2020-11-05 14:09:12
【问题描述】:
我正在使用 readxl 读取 R tidyverse 中的 Excel 文件。这是一个广泛的数据集,即以年份作为列标签(例如 2010、2015 等)。
标签被 readxl 解释为数字,df 列标签现在称为 2010.0、2015.0 等。我如何告诉 readxl“保持原样”,并有标签“2010”、“2015”等。 ?
df <- readxl::read_excel("Population-SSP1-Countries.xlsx", col_names = TRUE)
head(df)
> # A tibble: 6 x 25`
> Model Scenario Region Variable Unit `2010.0` `2015.0` `2020.0` `2025.0` `2030.0`
> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
> 1 IIAS… SSP1 ABW Populat… mill… 0.107 0.118 0.124 0.130 0.135`
> 2 NCAR SSP1 ABW Populat… mill… 0.107 0.118 0.124 0.130 0.135
> 3 OECD… SSP1 ABW Populat… mill… 0.107 0.118 0.124 0.13 0.135`
我可以提供合适的.xlsx,不知道如何在这里上传。
谢谢!
【问题讨论】:
-
也许只是重命名列名?
-
我过去使用过的一种可能性,但是对于具有多列的数据集来说,代码不是很通用并且很长。我想知道我似乎是第一个为此绊倒的人?
-
看起来像一个已知问题,仍处于打开状态,请参阅 community.rstudio.com/t/readxl-changing-my-column-headers/1858 和 github.com/tidyverse/readxl/issues/360
-
谢谢,在阅读了第一篇文章 (community.rstudio.com/t/readxl-sharing-my-column-headers/1858) 之后,我意识到 Ecel 的单元格类型为“数字”是一个问题" 用于列标题。在 Excel 中将此更改为“文本”可以消除 readxls 的问题。也可以解释为什么保罗无法重现这一点。
-
@Steffen 可能会发布您的评论作为您自己问题的答案,它可能会对未来的读者有所帮助:)