gpt4 book ai didi

r - 我可以计算行或列的最小值或最大值,也可以计算列的平均值,但无法计算行的平均值。为什么不?

转载 作者:行者123 更新时间:2023-12-04 10:43:28 24 4
gpt4 key购买 nike

给定一个简单的 2x2 数据框,我可以计算行或列的最小值或最大值,也可以计算列的平均值,但无法计算行的平均值。为什么不呢?

> dat <- data.frame( A=c(1,2),B=c(3,4))
> dat
A B
1 1 3
2 2 4
> min(dat[1,])
[1] 1
> max(dat[1,])
[1] 3
> mean(dat[,1])
[1] 1.5
> mean(dat[1,])
[1] NA
Warning message:
In mean.default(dat[1, ]) :
argument is not numeric or logical: returning NA

最佳答案

maxmin 接受多个向量作为参数,并计算所有这些中的最大值/最小值。

mean 更受限制,它接受一个受支持类型的参数。例如,向量是受支持的类型。

有关更多详细信息,请参阅 ?max?mean,尤其是用法参数详细信息部分。

dat 的类型是data.framedat[1,] 的类型也是如此,因为一行数据框也是一个数据框,在其每一列中都有一个值。

当你将一个数据帧传递给max时,它对数据框的列(向量)进行操作,返回所有这些的最大值。

当您将数据框传递给 mean 时,它给你一个错误,因为数据框不是受支持的类型之一。

您可以使用 unlist 从数据框中获取向量。它实际上是通过连接数据帧的所有向量来实现的。例如 unlist(dat) 将返回向量 1 2 3 4dat[1,]dat的第一行,其中有向量 13,所以 unlist(dat[1,]) 将返回向量 1 2。您可以对其调用 mean

关于r - 我可以计算行或列的最小值或最大值,也可以计算列的平均值,但无法计算行的平均值。为什么不?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47166839/

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