- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
具有欧洲数字格式样式 (1234.56 -> 1.234,56) 的 csv 文件应该由 readr
函数或 fread()
处理。尽管 read_csv2()
应该正是为这个任务设计的,但它基本上忽略了规范。它只会自动猜测数字格式。如果超过 3 位的第一个数字仅出现在文件末尾,即在达到 guess_max
之后(默认为 1000),这就会出现问题。
如何以编程方式强制执行正确的格式设置?
library(readr)
data <- data.frame(var1 = c("", 4, 5, "124.392,45"),
var2 = c(1, 2, "4.783.194,43", 7))
write_csv2(data, "data.csv")
read_csv2("data.csv", guess_max = 2,
locale = locale(decimal_mark = ",", grouping_mark = "."))
# # A tibble: 4 x 2
# var1 var2
# <dbl> <dbl>
# 1 NA 1
# 2 4 2
# 3 5 NA
# 4 NA 7
read_csv2("data.csv", guess_max = 3,
locale = locale(decimal_mark = ",", grouping_mark = "."))
# # A tibble: 4 x 2
# var1 var2
# <dbl> <dbl>
# 1 NA 1
# 2 4 2
# 3 5 4783194.
# 4 NA 7
read_delim("data.csv", delim = ";", guess_max = 3,
locale = locale(decimal_mark = ",", grouping_mark = "."))
# # A tibble: 4 x 2
# var1 var2
# <dbl> <dbl>
# 1 NA 1
# 2 4 2
# 3 5 4783194.
# 4 NA 7
最佳答案
事先设置col_types
似乎有帮助。在这种情况下是数字。
col_number() [n], numbers containing the grouping_mark
result <- read_csv2("data.csv",
# guess_max = 2, not needed if col_types are specified
col_types = cols(var1 = col_number(),
var2 = col_number()),
locale = locale(decimal_mark = ",", grouping_mark = "."))
result
# A tibble: 4 x 2
var1 var2
<dbl> <dbl>
1 NA 1
2 4 2
3 5 4783194.
4 124392. 7
正如 Adam 指出的那样,如果您设置了 col_types,则无需猜测,因为 col_types 需要与您要读入的列的长度相同。
关于r - 如何强制 readr 考虑正确的小数/分组标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62064227/
我有以下 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 中有三个
我是一名优秀的程序员,十分优秀!