You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中使用ts函数转换CSV读取的dataframe数据时出现异常值怎么解决?

问题成因

  • fread返回的是data.table类型的二维表对象,哪怕你只筛选了单列Volume,变量data仍然是带表结构的对象,不是纯数值向量
  • R基础包的ts()函数要求第一个参数传入纯数值向量/矩阵,直接传入data.table对象时,函数会错误读取对象的底层内存属性值而非你需要的Volume列数值,就会出现你看到的极小异常科学计数数值

解决方法

你只需要在构造ts对象时,提取出Volume列的纯数值向量即可,修改代码为如下形式:

library(data.table)
data = fread('data.csv', select = c('Volume'))
# 用$提取单列转为向量,再传入ts函数
datats = ts(data$Volume, frequency = 365)

执行后打印datats即可验证,数值会和原始数据完全匹配。你也可以用data[[1]]代替data$Volume提取第一列的向量值,效果一致。

内容的提问来源于stack exchange,提问作者Castor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:06:06