Error in `flights[flights$day_of_week == "Monday", ]`: ! Can't subset rows with `flights$day_of_week == "Monday"`.
时间: 2024-03-17 09:46:10 浏览: 63
非常抱歉,我的代码有误。在 `flights` 数据集中,星期一对应的字段是 `day`,而不是 `day_of_week`。以下是一个可以实现计算出发日期为星期一的航班记录数的代码:
```R
library(nycflights13)
data("flights")
# 计算出发日期为星期一的航班记录数
monday_flights <- nrow(flights[flights$day == 1, ])
print(paste("出发日期为星期一的航班记录数为:", monday_flights))
```
在这个代码中,我们使用 `nycflights13` 包中的 `flights` 数据集,然后使用 `nrow()` 函数和逻辑向量来计算出发日期为星期一的航班记录数。需要注意的是,在 `flights` 数据集中,星期一对应的字段是 `day`,并且星期一的取值为 1。最后,我们使用 `print()` 函数输出计算结果。
运行以上代码后,你将得到出发日期为星期一的航班记录数。
相关问题
Error in `flights[flights$date == as.Date("2013-06-08"), ]`: ! Can't subset rows with `flights$date == as.Date("2013-06-08")`
非常抱歉,我的代码有误。在 `flights` 数据集中,日期对应的字段是 `year`, `month` 和 `day`,而不是 `date`。以下是一个可以实现计算 2013 年 6 月 8 日无飞行记录的飞机数量的代码:
```R
library(nycflights13)
# 读取数据集
data("flights")
data("planes")
# 筛选出发日期为 2013 年 6 月 8 日的航班
jun8_flights <- flights[flights$year == 2013 & flights$month == 6 & flights$day == 8,]
# 获取出发日期为 2013 年 6 月 8 日的航班的飞机编号
jun8_planes <- unique(jun8_flights$tailnum)
# 获取所有飞机的编号
all_planes <- unique(planes$tailnum)
# 计算无飞行记录的飞机数
no_flight_planes <- length(setdiff(all_planes, jun8_planes))
# 输出结果
print(paste("2013 年 6 月 8 日无飞行记录的飞机数量为:", no_flight_planes))
```
在这个代码中,我们首先使用 `nycflights13` 包中的 `flights` 和 `planes` 数据集。接下来,我们使用 `year`, `month` 和 `day` 字段的逻辑向量来筛选出发日期为 2013 年 6 月 8 日的航班,并使用 `unique()` 函数获取这些航班的飞机编号。然后,我们使用 `unique()` 函数获取所有飞机的编号,并使用 `setdiff()` 函数计算无飞行记录的飞机数。最后,我们使用 `print()` 函数输出计算结果。
运行以上代码后,你将得到 2013 年 6 月 8 日无飞行记录的飞机数量。
帮我修改以下代码的错误:library(nycflights13) library(dplyr) flights <- na.omit(flights, cols = c("dep_time")) flights$dep_interval <- ifelse(flights$dep_time >= 601 & flights$dep_time <= 1200, "上午", ifelse(flights$dep_time > 1200 & flights$dep_time <= 1800, "下午", ifelse(flights$dep_time > 1800 & flights$dep_time <= 2400, "晚上", ifelse(flights$dep_time > 1 & flights$dep_time <= 600, "凌晨", NA)))) flights_new <- flights %>% na.omit() %>% group_by(year, month, day, dep_interval) %>% summarize("delay_mean" = mean(arr_delay, na.rm = TRUE), "delay_var" = var(arr_delay, na.rm = TRUE), "dest_count" = n_distinct(arrival))
这段代码的问题在于在`summarize()`函数中引用了一个`arrival`对象,但是在代码中并没有定义或加载它。您需要在`summarize()`函数中增加一个`arrive`参数,以便正确引用`arrival`对象。请使用以下代码替换最后一行:
```
flights_new <- flights %>% na.omit() %>%
group_by(year, month, day, dep_interval) %>%
summarize("delay_mean" = mean(arr_delay, na.rm = TRUE),
"delay_var" = var(arr_delay, na.rm = TRUE),
"dest_count" = n_distinct(dest))
```
这里我们将`n_distinct(arrival)`改为`n_distinct(dest)`,因为`arrival`对象未定义。现在,代码应该可以成功运行并生成一个包含`delay_mean`、`delay_var`和`dest_count`列的数据框,其中每个行代表一个特定日期和时间段的统计数据。
阅读全文