【问题标题】:Turn numbers into integer with fread function when loading data加载数据时使用 fread 函数将数字转换为整数
【发布时间】:2021-09-18 17:38:47
【问题描述】:

我使用fread来加载csv文件,如下行。

data_startle <- fread('Materials/data/1/1.EMG.csv')

图 1 是加载到 R 之后的样子,图 2 是它在文件中的样子。

我可以在 R 中使其与在 EXCEL 中相同吗?最后几列中的所有数字都应该是整数。

【问题讨论】:

  • 您是否使用文本编辑器(例如记事本)检查了您的输入文件?你确定它们是整数吗?您还确定这些值都没有超出整数范围吗?
  • @Roland 我可以在 R 中将 0001,000 之类的数字设为 1 吗?我需要使它与 EXCEL 中的相同以匹配我的另一个数据集。
  • 您可以,但首先要定义“相同”对您意味着什么。您应该关心数字的内部表示,但您似乎更关注数字的显示方式。这是为什么呢?
  • 对不起,我已经假设有问题,所以还没有完成我的下一步。因此,如果 0001,000 和 1 对 R 的含义相同,那么尽管显示的数字不同,我仍然可以匹配两列?
  • R 将根据需要强制类型。

标签: r data.table


【解决方案1】:

fread 函数有一个参数colClasses,您可以使用它来指定特定列的数据类型,例如:

data_startle <- fread('Materials/data/1/1.EMG.csv', colClasses=list(integer=c("practise","acq"))) 

有关更多详细信息,另请参阅this 帖子。

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2023-03-30
    • 2011-12-23
    • 2012-06-27
    • 1970-01-01
    相关资源
    最近更新 更多