我有这个数组:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1
[38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[75] 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2
[112] 2 1 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2
我想计算' 1'的出现次数。和' 2'。从[1]到[70]以及从[71]到结束。
我试过了:
sum(x==1)
但这适用于所有人。我如何选择线?
答案 0 :(得分:1)
函数sum {base}应返回其参数
中存在的所有值的总和您可以通过以下方式定义参数: 使用x [a:b]可以设置边界(例如a = 1和b = 10,将区域设置为[1]到[10]); 使用运算符==您可以检查边界之间是否存在一个特定值c ...例如:x [a:b] == c 如果你想要查找多个值(例如c& d,其中c == 1和d == 2,你可以(例如)使用一个简单的加法来总结你的结果:
现在你可以说:sum(x [a:b] == c)+ sum(x [a:b] == c) 其中a& b是你的边界,而c& d是你想要比较的值。