gpt4 book ai didi

r - ~ 的总和是什么意思?

转载 作者:行者123 更新时间:2023-12-01 15:55:02 24 4
gpt4 key购买 nike

x <- iris[,1:4]
names(x) <- c("x1","x2","x3","x4")
aggregate(x1+x2+x3+x4~x1,FUN=sum,data=x)

这是输出,我想知道
1. 公式中的~是什么意思?
2. 为什么x1 = 4.3x1 + x2 + x3 + x4是8.5?

x1 x1 + x2 + x3 + x4
1 4.3 8.5
2 4.4 26.9
3 4.5 8.4

当我使用

 transform(x,x1=sort(x1))

我得到的是:

     x1  x2  x3  x4  
1 4.3 3.5 1.4 0.2
2 4.4 3.0 1.4 0.2
3 4.4 3.2 1.3 0.2
4 4.4 3.1 1.5 0.2

(省略很多输出)
x1=4.3时,x1 + x2 + x3 + x4不是3.5+1.4+0.2=5.1,也不是4.3+ 3.5+1.4+0.2=9.4?

最佳答案

~aggregate() 中将左侧分隔为“聚合”的内容,右侧分隔用于“聚合”的内容的项目。

在你的例子中,x1 + x2 + x3 + x4的结果会针对每一行进行计算,然后根据元组组成的组进行求和x1 以相同的值出现。

所以,您拥有 8.5 的原因是,被求和的数据是:

x1 + x2 + x3 + x4 = sum(c(4.3, 3.0, 1.1, 0.1)) = 8.5

在您的示例中,带有 x1 = 4.3 的行是第 14 行:14 4.3 3.0 1.1 0.1

所有的值都相加,每个相加得到x1值,并发送到FUN=sum进行相加。

因为只有一个 x1 = 4.3,该值将只是 8.5,这是第 14 行的条目总和的结果。

关于r - ~ 的总和是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078591/

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