Получить долю значений, которая меньше константы для всех столбцов во фрейме данных - PullRequest
0 голосов
/ 09 января 2019

Я думаю, что должен быть действительно простой способ сделать это, но я еще не настолько опытен в R. Мое глупое решение состоит в том, чтобы просто перебирать столбцы, подсчитывать количество значений, которое меньше C, делить его на количество строк, чтобы получить дробь. Что-то вроде

fracs <- c()
for (j in 1:ncol(df)) {
  frac <- sum(df[,j] < C) / nrow(df)
  fracs <- c(fracs, frac)
}

Я чувствую, что должна быть одна строка для получения такого рода сводки для фрейма данных, возможно, с использованием dplyr или чего-то еще. В идеале вывод представляет собой фрейм данных из одной строки с дробями. Мастера R, пожалуйста, помогите.

1 Ответ

0 голосов
/ 09 января 2019

Я думаю, это будет очень просто. Я думаю, что вы просто хотите colMeans(df < C)

Редактировать: просто чтобы быть немного более понятным, df - это датафрейм. Когда мы запускаем df < C, результаты будут представлять собой логическую матрицу тех же измерений, где в каждой ячейке i, j хранится результат df[i,j] > C. colMeans принимает среднее значение столбца, обрабатывая TRUE и FALSE как 1 и 0 соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...