繁体   English   中英

如何在R tidyverse中转换列类型

[英]How to convert column types in R tidyverse

我试图让自己习惯使用Tidyverse,但是事实证明数据类型转换是一个障碍。 我知道自动将字符串转换为因数不是理想的选择,但有时我想使用因数,因此一些将小标题中所需的字符列轻松转换为因数的方法将是极好的。 我更喜欢使用readxl软件包读取excel文件,但不允许使用因素列类型! 事后我可以逐列进行介绍,但这确实没有效率。 我希望以下两项都能正常工作:

  1. 读取文件,并同时指定应将哪些列作为因素读取:

      data <- read_excel(path = "myfile.xlsx", col_types=c(col2="factor", col5="factor))) 
  2. 或出于多种原因,此功能将非常出色,但我无法弄清楚它的工作原理。 col_types函数让我很困惑:

      diamonds <- col_types(diamonds, cols=c(cut="factor", color="factor", clarity="factor")) 

提前致谢!

read_excel使用Excel单元格类型来猜测要在R中使用的列类型。我也同意read_excel的观点,即应该读取数据并允许一组有限的列类型。 然后,如果用户愿意,可以稍后进行类型转换。

没有名为col_types函数。 这是read_excel的参数名称。 tidyverse方法将是:

library(tidyverse)

(foo <- data_frame(x = letters[1:3], y = LETTERS[4:6], z=1:3))
#> # A tibble: 3 x 3
#>   x     y         z
#>   <chr> <chr> <int>
#> 1 a     D         1
#> 2 b     E         2
#> 3 c     F         3

foo %>% 
  mutate_at(vars(x, y), factor)
#> # A tibble: 3 x 3
#>   x     y         z
#>   <fct> <fct> <int>
#> 1 a     D         1
#> 2 b     E         2
#> 3 c     F         3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM