gpt4 book ai didi

r - 与dplyr的分组关联(仅在控制台上工作)

转载 作者:行者123 更新时间:2023-12-04 09:23:31 25 4
gpt4 key购买 nike

我正在尝试使用dplyr来计算分组的相关性,但是显然有些错误,因为下面的代码仅在控制台中有效:

require(dplyr)
set.seed(123)
xx = data.frame(group = rep(1:4, 100), a = rnorm(400) , b = rnorm(400))
gp = group_by(xx, group)
summarize(gp, cor(a, b))

group cor(a, b)
1 1 -0.02073084
2 2 0.12803353
3 3 0.06236264
4 4 -0.06181904

如果我在RStudio中使用相同的代码,则会得到:
   cor(a, b)
1 0.02739193

发生了什么?

最佳答案

您体验到的与同时加载plyrdplyr有关。由于这两个软件包都具有summarize函数,因此如果您未明确指定要使用的软件包,则可能会发生冲突。对于示例数据,这意味着:

require(dplyr)
set.seed(123)
xx = data.frame(group = rep(1:4, 100), a = rnorm(400) , b = rnorm(400))

按预期使用 dplyr:
gp = group_by(xx, group)
dplyr::summarize(gp, cor(a, b))
#Source: local data frame [4 x 2]
#
# group cor(a, b)
#1 1 -0.02073084
#2 2 0.12803353
#3 3 0.06236264
#4 4 -0.06181904

或使用 plyr
gp = group_by(xx, group)
plyr::summarize(gp, cor(a, b))
# cor(a, b)
#1 0.02739193

因此,要么避免同时加载两个软件包,要么使用package::function指定软件包。

关于r - 与dplyr的分组关联(仅在控制台上工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25023657/

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