【问题标题】:I want to do the same, but with a .csv file. Its possible?我想做同样的事情,但使用 .csv 文件。这是可能的?
【发布时间】:2020-09-08 07:15:45
【问题描述】:

我是堆栈溢出和 R 的新手

我想监控睡眠时间,所以我发现这个项目非常好。 我以为我会将数据写入 .csv。有些是这样的:

Date ,hms1,hms2
2005-01-01,00:00:00,09:17:00
2005-01-02,00:12:00,10:02:00
2005-01-03,00:15:00,08:02:00
2005-01-04,01:32:00,07:04:00
2005-01-05,02:34:00,05:04:00
2005-01-06,03:34:00,05:05:00
2005-01-07,01:02:00,04:04:00
2005-01-08,00:12:00,04:04:00
2005-01-09,04:32:00,09:04:00
2005-01-10,06:33:00,10:02:00
2005-01-11,01:02:00,08:05:00
2005-01-12,22:30:00,03:03:00
2005-01-13,02:00:00,05:55:00

我不知道如何从 R 中的 .csv 读取数据。我已尝试使用此代码:

Data <- read.csv("hora2.csv", sep = ";", Headers = TRUE, stringAsFactors = FALSE)

但这没有用。

我正在工作的代码是这样的:

library(ggplot2)
library(scales)
library(stringr)

#hms Hora Minutos Segundos
df1$Date = as.POSIXct(df1$Date) + 3600*8
set.seed(20)

df1$hms1a = df1$Date + runif(nrow(df1), 3600*5, 3600*10)
df1$hms2a = df1$Date + runif(nrow(df1), 3600*15, 3600*66)

ggplot(df1, aes(x=Date)) +
  scale_x_datetime(breaks = date_breaks("1 day")) +
  scale_y_continuous(limits = c(0,48), breaks=seq(0,48,2),
                     labels=str_pad(seq(0,48,2) %% 24, 2, pad="0")) +
  geom_hline(yintercept=seq(0,48,24)) +
  geom_linerange(aes(ymin = hms1a - Date, ymax = hms2a - Date), color = "#63C1FF",size = 5) +
  coord_flip() + ylab("Tiempo en horas") +
  ggtitle("Horas de Sueño")

【问题讨论】:

  • 我无法发布链接和照片。对不起,我是新来的
  • 如果问题只是读取 csv 文件,请告诉我们它是如何不起作用的,我建议第二部分代码无关紧要,可以删除。

标签: r csv ggplot2 charts pastebin


【解决方案1】:

由于您的数据由, 分隔,您应该使用, 作为分隔符。因此尝试

Data <- read.csv("hora2.csv", sep = ",", header = TRUE, stringsAsFactors = FALSE)

而不是

Data <- read.csv("hora2.csv", sep = ";", Headers = TRUE, stringAsFactors = FALSE)

【讨论】:

  • 非常感谢。我也试过了。控制台给我这个错误: FUN(X[[i]], ...) 中的错误:“hms1 object not found”
  • 请准确地说:您做了什么以及何时发生错误?
  • 我认为在读取 .csv i.imgur.com/82G9qCL.jpg *Object not found 它的错误时,sintaxy 是错误的
  • 非常感谢!我已经意识到阅读报价中目录的斜杠“/”是错误的。现在解释器可以读取 .cvs!伟大的。现在我发现了一个新错误。时间列是“二元运算符的非数字”如何解决? i.imgur.com/aNsdEt6.jpg
  • 如果您发现新错误,请提出新问题。一个问题必须是关于一个特定的问题。发生的任何新问题都应该导致一个全新的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 2022-06-14
  • 2016-12-20
  • 1970-01-01
  • 2019-07-12
  • 2013-06-26
相关资源
最近更新 更多