gpt4 book ai didi

r - 如何计算特定范围内的数字数量

转载 作者:行者123 更新时间:2023-12-01 19:45:58 25 4
gpt4 key购买 nike

我在计算数字时仍然遇到问题。

尝试查找第一行 [-0.5 , 0.5] 内的数字数量,以及第二行中同一范围之外的数字数量。

我使用abc = rnorm(100,mean=0,sd=1)。所以我总共有 100 个数字,但我只有范围内的 35 个数字和范围外的 35 个数字,加起来不等于 100。

length(abc[abc>=-0.5 & abc<=0.5])
[1] 35

length(abc[abc<-0.5 & abc>0.5])
[1] 35

然后我尝试了:

length(which(abc>=-0.5 & abc<=0.5))
[1] 40

length(which(abc<-0.5 & abc>0.5))
[1] 26

加起来仍然不是 100。出了什么问题?

最佳答案

您正在追求:

R> set.seed(1)
R> abc = rnorm(100, mean=0, sd=1)
R> length(abc[abc >= -0.5 & abc <= 0.5])
[1] 41
R> length(abc[abc < -0.5 | abc > 0.5])
[1] 59

出了什么问题

有两件事:

  1. abc < -0.5 & abc > 0.5要求的值小于 -0.5 大于 0.5
  2. 但是,您实际上有:abc[abc<-0.5 & abc>0.5]由于作用域的不同,这会产生一些不同的效果。让我们把它拆开:

    R> abc[abc<-0.5 & abc>0.5]
    [1] 1.5953 0.7383 0.5758 1.5118 1.1249 0.9438 <snip>

    现在让我们看看abc

    R> abc
    [1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE

    您已更改 abc 的值!这是因为<-是赋值运算符。您已设置abc等于 0.5 & abc > 0.5 。为了避免这种情况,请使用空格(如我的代码中所示)。

关于r - 如何计算特定范围内的数字数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077439/

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