gpt4 book ai didi

r - dplyr group_by 和 mutate,如何访问数据框?

转载 作者:行者123 更新时间:2023-12-04 01:02:00 27 4
gpt4 key购买 nike

当使用 dplyr 的“group_by”和“mutate”时,如果我理解正确,数据帧会根据 group_by 参数拆分为不同的子数据帧。例如,使用以下代码:

 set.seed(7)
df <- data.frame(x=runif(10),let=rep(letters[1:5],each=2))
df %>% group_by(let) %>% mutate(mean.by.letter = mean(x))

mean() 依次应用于与 a & e 之间的字母对应的 5 个 sub-dfs 的 x 列。

因此,您可以操作子 dfs 的列,但您可以访问子 dfs 本身吗?令我惊讶的是,如果我尝试:
 set.seed(7)
data <- data.frame(x=runif(10),let=rep(letters[1:5],each=2))
data %>% group_by(let) %>% mutate(mean.by.letter = mean(.$x))

结果是不同的。从这个结果,可以推断出“。” df 不连续表示子 dfs,而仅表示“数据”(group_by 函数不会改变任何内容)。
原因是我想使用一个 stat 函数,该函数将数据框作为每个子 dfs 的参数。
谢谢!

最佳答案

我们可以在do内使用

data %>%
group_by(let ) %>%
do(mutate(., mean.by.letter = mean(.$x)))

关于r - dplyr group_by 和 mutate,如何访问数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36551708/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com