使用dplyr::按顺序汇总时出错
这里的一位利他成员帮助我编写了以下代码,使用for循环和使用dplyr::按顺序汇总时出错,r,for-loop,dplyr,rlang,summarize,R,For Loop,Dplyr,Rlang,Summarize,这里的一位利他成员帮助我编写了以下代码,使用for循环和dplyr::summary生成变量。正如预期的那样,此代码运行良好 library(nycflights13) flights <- nycflights13::flights %>% select(carrier,distance,hour) by_carrier <- NULL for ( i in c("distance", "hour") { df <
dplyr::summary
生成变量。正如预期的那样,此代码运行良好
library(nycflights13)
flights <- nycflights13::flights %>%
select(carrier,distance,hour)
by_carrier <- NULL
for ( i in c("distance", "hour") {
df <-
flights %>%
dplyr::group_by(carrier) %>%
dplyr::summarize(!!as.name(i) := sum(!!as.name(i) ))
by_carrier <- bind_cols(by_carrier,df)
}
我错过了什么?提前感谢。因为您正在使用
seq_
i
是1,2不是数据中列的名称。将for
循环更改为for(i在var\u利息中)
或在循环内使用var\u利息[i]
library(dplyr)
by_carrier <- NULL
var_interest <- c("distance", "hour")
for (i in var_interest) {
df <-
flights %>%
dplyr::group_by(carrier) %>%
dplyr::summarize(!!as.name(i) := sum(!!as.name(i) ))
by_carrier <- bind_cols(by_carrier,df)
}
由于您使用的是
seq_
i
是1,2不是数据中列的名称。将for
循环更改为for(i在var\u利息中)
或在循环内使用var\u利息[i]
library(dplyr)
by_carrier <- NULL
var_interest <- c("distance", "hour")
for (i in var_interest) {
df <-
flights %>%
dplyr::group_by(carrier) %>%
dplyr::summarize(!!as.name(i) := sum(!!as.name(i) ))
by_carrier <- bind_cols(by_carrier,df)
}
library(dplyr)
by_carrier <- NULL
var_interest <- c("distance", "hour")
for (i in var_interest) {
df <-
flights %>%
dplyr::group_by(carrier) %>%
dplyr::summarize(!!as.name(i) := sum(!!as.name(i) ))
by_carrier <- bind_cols(by_carrier,df)
}
flights %>%
group_by(carrier) %>%
summarise(across(all_of(var_interest), sum))