【发布时间】:2020-07-25 00:50:47
【问题描述】:
我正在尝试在存储到csv 文件中的大型数据集上使用 ggplot2。我以前用excel看的。
我不知道如何将此数据转换为data.frame。特别是,我有一个具有以下格式的日期列:“2020/04/12:12:00”。我怎样才能让R 理解这种格式?
【问题讨论】:
我正在尝试在存储到csv 文件中的大型数据集上使用 ggplot2。我以前用excel看的。
我不知道如何将此数据转换为data.frame。特别是,我有一个具有以下格式的日期列:“2020/04/12:12:00”。我怎样才能让R 理解这种格式?
【问题讨论】:
仅就这个问题而言,我建议使用 openxlsx 包,它帮助我显着减少了读取大型数据集的时间。根据您的问题和 cmets,您可能会发现这三点很有帮助
【讨论】:
data 必须是一个数据框,或者由fortify() 强制的其他对象,而不是一个字符向量”.. . "RiverWensum
如果是csv,可以使用:
fread 函数来自 data.table。这将是读取 csv 的最快方法。 read_csv 或 read_csv2(用于 ; 分隔的文档)在 readr 包中如果是.xls(或.xlsx)文档,请查看readxl 包。
所有这些函数都将您的数据导入为data.frames(附加类如data.table 用于fread 或tibble 用于read_csv)。
根据您的评论,您的文件看起来不是 excel 而是 csv。如果您想将列类型转换为日期,假设您的数据框称为df
df[, dates := as.POSIXct(get(colnames(df)[1]), format = "%Y/%m/%d:%H:%M")]
请注意,您不需要使用cbind,甚至不需要重新分配data.table,因为您使用的是:= 运算符
正如消息所说,您不需要POSIXlt 的额外精度
【讨论】:
cbind向量,你data.table你可以直接通过创建/删除新列来修改数据框
data 必须是数据框,或由fortify() 强制转换的其他对象,而不是字符向量"
ggplot(data=df, aes(x = x_var, y=y_var)) + geom_line()+ geom_point()。将 x_var 和 y_var 更改为变量的名称(不带引号)