Выполнение расчета только с подмножеством фрейма данных - PullRequest
0 голосов
/ 27 марта 2020

У меня возникли трудности при выполнении статистического анализа для задания. У меня есть df с более чем 100 000 строк и 15 столбцов.

У меня вопрос, как я могу создать вычисление, которое будет использовать только первые 50 или около того строк df?

Итак, например, используйте только первые 40 строк этого df и вычислите среднее значение этих строк.

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Вы можете установить подкадр данных для выбора необходимого количества строк, а затем использовать rowMeans для вычисления среднего значения по строке.

rowMeans(df[1:40, ])
0 голосов
/ 27 марта 2020

Ваша проблема связана с поднабором. Подмножество может быть сделано через индексы кадра данных. Доступ к ним можно получить через квадратные скобки: например, df[1, 1] выбирает одно значение, а именно, в пересечении первой строки и первого столбца. Если вы хотите sh указать только строки, просто оставьте слот после запятой пустым.

ИЛЛЮСТРАТИВНЫЕ ДАННЫЕ :

Предположим, у вас есть такие данные:

set.seed(12)
df <- data.frame(
  V1 = c(rnorm(100, 1)),
  V2 = c(rnorm(100, 2)),
  V3 = c(rnorm(100, 3)),
  V4 = c(rnorm(100, 4)),
  V5 = c(rnorm(100, 5))
)
df

РЕШЕНИЕ :

Если вы хотите вычислить средние значения для всех столбцов, но только для первых 40 строк в кадре данных, просто оставьте слот после запятой пустым и выберите диапазон строк, и apply функция mean для этого подмножества строк по столбцам (указывается в аргументе 2):

apply(df[1:40,], 2, mean) 

RESULT :

       V1        V2        V3        V4        V5 
0.8832314 2.1333252 2.8625274 3.9405622 4.8542093 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...