从列中的值中求和,而R中的sum <1000

问题描述 投票:0回答:1

i表L和其中的名为freq的列,显示了找到一个值的次数。我的行是1000。我想对freq的值求和,直到sum = 1000,然后找到发生的Var1。我已经尝试过了,但是出现错误

Error in sum == 1000 : 
  comparison (1) is possible only for atomic and list types


   input table L




    Var1  Freq
1   1.1 100
2   1.2 443
3   1.3 266
4   1.4 205
5   1.5 189
6   1.6 111
7   1.7 449
8   2.1 113
9   2.2 381
10  2.3 23
11  2.4 32
12  2.5 103
13  2.6 70
14  2.7 87
15  2.8 87
16  2.9 129
17  3   53
18  3.1 274
19  3.2 38
20  3.3 62

sum(L[cumsum(sum==100) == 0])
r
1个回答
0
投票

[这是base R中的一个选项,我们过滤'Freq'的累加总和小于或等于1000的行。然后获取'Var1'的最后一个元素,而sum'Freq'的最后一个元素

df2 <- subset(df1, cumsum(Freq) <= 1000)
tail(df2$Var1, 1)
#[1] 1.3
sum(df2$Freq)
#[1] 809
© www.soinside.com 2019 - 2024. All rights reserved.