在R中使用ggplot2和dplyr编写时间序列图函数

时间:2019-06-07 17:39:07

标签: r ggplot2 dplyr

我正在尝试编写一个简单的函数,该函数使用ggplot2作为数据输入和变量的两个输入来创建时间序列图。

我尝试了以下代码:

library(tidyverse)
library(dlookr)
library(dplyr)
library(ggplot2)

time_series <- function(df, y){
  df %>%
    ggplot(aes(Date, y)) + geom_line()
}

time_series(Data, DOW)

,我收到以下错误消息:

Error in FUN(X[[i]], ...) : object 'DOW' not found

我也很疲倦地运行此代码,而没有调用dplyr和ggplot2程序包,但我仍然遇到相同的错误。我知道这是一个非常简单的修复程序,但是在这一点上,我感到非常困惑,因为我已经使用非常相似的代码在ggplot中用R创建了更复杂的绘图函数。

1 个答案:

答案 0 :(得分:-1)

您可以那样做,尽管它不是最漂亮的:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "(\\d{1,2})(:\\d{1,2})?(\\s+)?-(\\s+)?(\\d{1,2})(:\\d{1,2})?(am|pm)";
final String string = "bla bla 1:30-2pm bla bla 5-6:30am some text 1-2:15am\n"
     + "bla bla 1:30 - 2pm bla bla 5  - 6:30am some text 1 - 2:15am";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}