【问题标题】:Issues with plotting multivariable line graph in r using ggplot使用 ggplot 在 r 中绘制多变量折线图的问题
【发布时间】:2017-08-14 11:51:51
【问题描述】:

我有一个包含“日期”/“变量”/“值”列的融合数据表。

据我所知,所有的行数完全匹配,但是当尝试将它们绘制在一起时:

ggplot(data = subset(data_long, !is.na(value)),
       aes(x=date, y=value, group = variable)) +
  scale_x_date(labels = "%Y-%m-%d") +
  geom_line()

这会返回:

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  : 
arguments imply differing number of rows: 0, 3542

我对为什么会发生这种情况有一些想法。第三列中的一些值是 n/a(尽管我现在已经使用 !is.na 表达式删除了这些行),并且日期的格式为年-月-日时间(例如 '2017-06-29 00:00:00.0')。但是,我不知道这是否是其中任何一个原因,并且我一直在寻找如何进行的想法。

任何帮助将不胜感激。

编辑:

我如何使用 reshape 包从原始数据生成我的数据表

pivot = cast(table, workingdate ~ trader, value = variable1)
cumulative = cumsum(pivot[,-1]) #taking the cumulative sum of all columns except the date
data = data.frame(pivot$workingdate,cumulative) 

data_long <- melt(data, id="pivot.workingdate")  # convert to long format
data_long$pivot.workingdate = as.Date(data_long$pivot.workingdate, "%Y-%m-%d")

以及dput(head(data_long)) 的输出(已替换变量名):

structure(list(pivot.workingdate = structure(c(17171, 17172, 
17175, 17176, 17177, 17178), class = "Date"), variable = structure(c(1L, 
1L, 1L, 1L, 1L, 1L), .Label = c("A", "B", 
"C", "D", "E", "F", 
"G", "H", "I", "J", 
"K", "L", "M", "N", "O", 
"P", "Q", "R", "S", 
"T", "U", "V", "W"), class = "factor"), 
    value = c(-0.324163711670048, 0.133077732043205, 0.520368058673496, 
    0.513543560907851, 0.36852295463088, 0.515249684437591)), .Names = c("pivot.workingdate", 
"variable", "value"), row.names = c(NA, 6L), class = "data.frame")

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:
    ggplot(data = subset(data_long, !is.na(value)),
           aes(x=pivot.workingdate, y=value, group = variable)) +
      scale_x_date(date_labels = "%Y-%m-%d") +
      geom_line()
    

    【讨论】:

    • 我认为这没有改变任何东西......仍然给出完全相同的错误。
    • 您能否提供一部分数据以便我们重现错误? PS 但是额外的+ 确实需要包含在内。
    • 从 RStudio 表格查看器中进行简单的复制粘贴就足够了吗?
    • @alex1stef2 请使用dput(head(data))。印刷版不显示日期时间列的重要数据类型。
    • 希望根据您的要求进行编辑 + 有关我如何创建表格的更多信息
    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 2021-09-28
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多