我无法使用给定变量创建绘图

发布于 2025-01-09 04:27:25 字数 240 浏览 1 评论 0原文

我是基本的 R 用户。但是,我无法创建显示 weather 数据集每日最低温度(以 F 为单位)的绘图,该数据集在 nycflights13 中给出。我需要使用 str_c 创建一个名为 date 的新列,这样 date 应给出如下“YYYY-MM-DD”。我使用lubridate 包但它给出了错误。

有人对此有解释吗?

I am basic R user.However I cannot create the plot which shows the daily minimum temperature (in F) of the weather dataset, which is given in nycflights13. I need tocreate a new column called date with str_c, such that date should be given as follows "YYYY-MM-DD".I use the lubridate package but it gives error.

Someone has explanation for that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青丝拂面 2025-01-16 04:27:25

lubridate::make_date 可以解决这个问题。

下面是文档。

make_date(year = 1970L, month = 1L, day = 1L)
library(tidyverse)
library(nycflights13)
library(lubridate)
df <- weather

df <- df %>%
  mutate(date = make_date(year, month, day)) %>%
  group_by(date) %>%
  summarize(min_temp = min(temp)*1.8 + 32)

> df
# A tibble: 364 x 2
   date       min_temp
   <date>        <dbl>
 1 2013-01-01     80.5
 2 2013-01-02     73.4
 3 2013-01-03     78.9
 4 2013-01-04     84.1
 5 2013-01-05     89.6
 6 2013-01-06     91.5
 7 2013-01-07     89.6
 8 2013-01-08     84.1
 9 2013-01-09     93.2
10 2013-01-10    102. 
# ... with 354 more rows


ggplot(df) + geom_point(aes(x = date, y = min_temp))

输入图片此处的描述

这也可能会解决您的代码。

as.Date(str_c(weather$year, "-", weather$month, "-", weather$day), format = "%Y-%m-%d")

lubridate::make_date can solve the problem.

Below is the documentation.

make_date(year = 1970L, month = 1L, day = 1L)
library(tidyverse)
library(nycflights13)
library(lubridate)
df <- weather

df <- df %>%
  mutate(date = make_date(year, month, day)) %>%
  group_by(date) %>%
  summarize(min_temp = min(temp)*1.8 + 32)

> df
# A tibble: 364 x 2
   date       min_temp
   <date>        <dbl>
 1 2013-01-01     80.5
 2 2013-01-02     73.4
 3 2013-01-03     78.9
 4 2013-01-04     84.1
 5 2013-01-05     89.6
 6 2013-01-06     91.5
 7 2013-01-07     89.6
 8 2013-01-08     84.1
 9 2013-01-09     93.2
10 2013-01-10    102. 
# ... with 354 more rows


ggplot(df) + geom_point(aes(x = date, y = min_temp))

enter image description here

Also this might solve your code.

as.Date(str_c(weather$year, "-", weather$month, "-", weather$day), format = "%Y-%m-%d")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文