【问题标题】:readr::read_csv issue: numbers become double/characterreadr::read_csv 问题:数字变成双/字符
【发布时间】:2017-07-06 20:23:29
【问题描述】:

我正在尝试将大型数据集(更多 150 列,csv 文件)导入 RStudio,但是我坚持为所有列手动选择“数字”,因为它们似乎以“双”或“字符”默认模式。对于大文件,这需要很多时间。 这是代码:

> Test_example <- read_csv("~/Desktop/Test_example.csv", 
+     col_types = cols(c_perc = col_number(), 
+         n_perc = col_number(), treatment = col_integer()), 
+     na = "0") 

我尝试过使用“stringsAsFactors”命令,但它不起作用。 此外,如果我在导入时没有对列进行格式签名,则会出现错误:

"Parsed with column specification:
cols(
  .default = col_integer()
)
See spec(...) for full column specifications."

【问题讨论】:

  • Double 应该不是问题,因为它包括数字和整数数据。正在转换的列可能在这些列中具有隐藏字符,因此 R 将其强制为“字符”类。
  • 我想也许你在这些列中有一些非数字字符。您是否检查了文件以查看是否是这种情况?如果是这样,使用sed(如果您在Linux 上)一次删除这些字符会很有用。之后,就可以读取文件了。

标签: r excel csv


【解决方案1】:

查看函数的帮助。 如果您指定 col_types,您需要为所有 150 列指定一个规范或使用 cols_only() 您还可以使用紧凑的字符串,例如“cid”,用于字符、整数、双精度 您也可以尝试让函数猜测。

【讨论】:

    猜你喜欢
    • 2019-03-26
    • 1970-01-01
    • 2015-01-25
    • 2017-05-07
    • 1970-01-01
    • 2021-10-05
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多