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])
[这是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