- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
readr::read_csv
误读了我正在加载的文件中的某些列类型,因此我想使用 cols
手动设置它们。
在 ?read_csv
中,它表示 col_types 参数应该是 _"'NULL' 之一、'cols()' 规范或字符串。参见 'vignette("column-types")' 更多细节”。好吧,vignette("column-types")
给出了 vignette("column-types") not found
所以我尝试了 ?cols
。它说它接受“由‘col_*()’或其缩写字符名称创建的列对象”。
可接受的函数或缩写字符名称是什么?我在哪里可以找到这些信息? readr 1.1.1
顺便说一句。
最佳答案
有col_double
, col_integer
, col_character
, col_date
, col_factor
, .etc
library(readr)
mtcars <- read_csv(readr_example("mtcars.csv"), col_types =
cols(
mpg = col_double(),
cyl = col_integer(),
disp = col_double(),
hp = col_integer(),
drat = col_double(),
vs = col_integer(),
wt = col_double(),
qsec = col_double(),
am = col_integer(),
gear = col_integer(),
carb = col_integer()
)
)
mtcars
#> # A tibble: 32 x 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl> <int> <int> <int> <int>
#> 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
#> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
#> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
#> # ... with 22 more rows
或者,您可以使用紧凑的字符串表示形式,其中每个字符代表一列:c = 字符
,i = 整数
,n = 数字
,d = double
,l = 逻辑
, D = 日期
, T = 日期时间
, t = 时间
, ? = guess
,或 _
/-
跳过该列。
mtcars_select <- read_csv(readr_example("mtcars.csv"),
col_types = cols_only(mpg = 'd', cyl = 'i', hp = 'i',
qsec = 'd', gear = 'i'),
na = c("NA", "N/A", "-9999", "-999"))
mtcars_select
#> # A tibble: 32 x 5
#> mpg cyl hp qsec gear
#> <dbl> <int> <int> <dbl> <int>
#> 1 21 6 110 16.5 4
#> 2 21 6 110 17.0 4
#> 3 22.8 4 93 18.6 4
#> 4 21.4 6 110 19.4 3
#> 5 18.7 8 175 17.0 3
#> 6 18.1 6 105 20.2 3
#> 7 14.3 8 245 15.8 3
#> 8 24.4 4 62 20 4
#> 9 22.8 4 95 22.9 4
#> 10 19.2 6 123 18.3 4
#> # ... with 22 more rows
甚至更短
mtcars <- read_csv(readr_example("mtcars.csv"), col_types = "di_i__d__i_")
mtcars
# A tibble: 32 x 5
mpg cyl hp qsec gear
<dbl> <int> <int> <dbl> <int>
1 21 6 110 16.5 4
2 21 6 110 17.0 4
3 22.8 4 93 18.6 4
4 21.4 6 110 19.4 3
5 18.7 8 175 17.0 3
6 18.1 6 105 20.2 3
7 14.3 8 245 15.8 3
8 24.4 4 62 20 4
9 22.8 4 95 22.9 4
10 19.2 6 123 18.3 4
# ... with 22 more rows
引用:
https://cran.r-project.org/web/packages/readr/vignettes/readr.html
https://www.rdocumentation.org/packages/readr/versions/1.1.1/topics/cols
关于r - readr 中允许的 "col_*()"形式的列对象是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651898/
我有以下 R 数据框: zed # A tibble: 10 x 3 jersey_number first_name statistics.minutes
我正在尝试将数据集导入到 RStudio,但是我遇到了汉字问题,因为它们变成了困惑的代码。这是代码: library(tidyverse) df 1 "\xce\
我很惊讶 library(readr) 无法突然加载: library(readr) Error in loadNamespace(j <- imp[[1L]], c(lib.loc, .libPat
我需要导入具有不同列号的数据文件。最后,该代码应该由其他对 R 不太熟悉的同事使用。因此它应该是健壮的,并且最好没有警告消息。主要问题是 header 总是以附加的“,”结尾,这不会出现在下面的数据中
我想读取较大的csv文件,但遇到内存问题。因此,我想尝试使用read_csv_chunked()包中的readr读取它们。我的问题是我不太了解callback参数。 这是到目前为止我尝试过的一个最小的
从这个代码: require(readr) readK6 <- read_csv("./data/K6.csv.zip", col_types = c("char
readr::read_csv添加在编辑数据时不会更新的属性。例如, library('tidyverse') df % sapply(n_distinct) no_info % select(-
在readr()/read_csv中,如何导入所有列为字符的数据?谢谢! library(tidyverse) read_csv(readr_example("mtcars.csv"))) 最佳
20MB 以上的 CSV 文件对电子邮件不礼貌。用户如何用最少的代码压缩文件? 非压缩任务是: mtcars %>% write_csv('foocars.csv') rea
在readr()/read_csv中,如何导入所有列为字符的数据?谢谢! library(tidyverse) read_csv(readr_example("mtcars.csv"))) 最佳
20MB 以上的 CSV 文件对电子邮件不礼貌。用户如何用最少的代码压缩文件? 非压缩任务是: mtcars %>% write_csv('foocars.csv') rea
我有一个 csv 文件 test.csv,其中有一列包含日期: V1 14-01-02 9:10 14-01-02 9:10 14-01-02 9:21 14-01-02 9:34 14-01-02
我需要关于如何使用 readr 导入数据的建议通过输入我自己的日期格式 我正在尝试的方式是: read_csv("test", col_types = cols( column-name = col_
readr::read_csv 误读了我正在加载的文件中的某些列类型,因此我想使用 cols 手动设置它们。 在 ?read_csv 中,它表示 col_types 参数应该是 _"'NULL' 之一
具有欧洲数字格式样式 (1234.56 -> 1.234,56) 的 csv 文件应该由 readr 函数或 fread() 处理。尽管 read_csv2() 应该正是为这个任务设计的,但它基本上忽
我一直在玩读者的read_delim_chunked职能。基于 documentation ,目前尚不清楚如何或是否可能将参数传递给回调函数。例如,来自文档示例: # Cars with 3 gear
当我使用 readr::read_csv 读取包含尾随分隔符的 CSV 文件时,我收到一条警告,提示填写了缺失的列名。以下是重现此警告的简短示例 CSV 文件的内容(将以下代码段存储在名为 examp
代码显示为: readr::parse_double("123,456,789.987", locale = locale(decimal_mark = "."
我目前正在使用 .Rmd 笔记本,RStudio 版本 1.1.442。 根据 Knitr 手册和各种小插图中的不同示例,在我的笔记本中,我要求 readr(已安装版本:1.1.1)不显示进度使用隐藏
tidyverse 中的 readr 包可以选择自动解压缩 zip 文件并将其转换为 tibble。但是我有一个包含多个 csv 文件的 zip 文件。在下面的代码行中,SSPdataZip 中有三个
我是一名优秀的程序员,十分优秀!