Подсчет количества раз, когда значение происходит - PullRequest
9 голосов
/ 23 августа 2011

У меня есть переменная (Var), которая хранит 10000 значений и имеет целочисленную природу.

Я хочу подсчитать, сколько раз в этом списке встречается числовое значение 1000 или больше 1000.

Любой лайнер в R?

Заранее спасибо.

Ответы [ 5 ]

11 голосов
/ 23 августа 2011

sum(Var >= 1000) будет делать это, пока Var является вектором.Если нет, вам нужно указать R найти Var внутри любого объекта, который его содержит.Вот пример:

> set.seed(2)
> Var <- sample(900:1100, 10)
> Var
 [1]  937 1040 1014  933 1085 1084  925 1061  990 1005
> Var >= 1000
 [1] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE
> sum(Var >= 1000)
[1] 6

Используется тот факт, что TRUE = 1 и FALSE = 0.

10 голосов
/ 23 августа 2011
sum(Var>=1000)

Предлагаем вам прочитать некоторые вступительные R-документы, подобные вещи возникают постоянно.Кроме того, у вас есть, надеюсь, не «список», а «вектор».Если это «список», то ... ммм, сначала удалите его из списка ().

5 голосов
/ 24 августа 2011

возможно не так эффективно, но мне нравится

> length(which(Var>=1000))
4 голосов
/ 23 августа 2011

Попробуйте это:

 sum(r >= 1000)

где r - вектор. Это работает, потому что R автоматически преобразовывает логические значения ИСТИНА / ЛОЖЬ в значения 1 и 0, когда вы пытаетесь суммировать логический вектор.

0 голосов
/ 11 апреля 2017

Также можно использовать:

vec <- sample(1:10, 15, replace = TRUE)
table(vec > 2)

или

length(vec[vec>2])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...