Создайте большой фрейм данных в R

  1. Использование векторов и факторов для создания фрейма данных в R
  2. Используйте список для создания фрейма данных в R
  3. Использование матрицы для создания фрейма данных в R

В этой статье будет объяснено несколько методов создания большого фрейма данных в R.

Использование векторов и факторов для создания фрейма данных в R

Фрейм данных - это самая мощная встроенная структура данных языка R, напоминающая табличную матрицу, где каждый столбец имеет одинаковую длину и должен иметь имена. Однако ниже он имеет больше функций, подобных списку, поскольку каждый столбец фрейма данных обрабатывается так, как если бы он был элементом структуры данных список. С другой стороны, мы можем создать фрейм данных, используя сочетание векторов и факторов, как показано в следующем фрагменте кода. Мы используем функцию data.frame для построения объекта фрейма данных из векторов и факторов.

v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))

df2 <- data.frame(v1, v2, v3, wday)

Выход:

v1 v2 v3 wday
1 1.1 11  1  Wed
2 1.2 12  2  Thu
3 1.3 13  3  Mon
4 2.1 21  1  Wed
5 2.2 22  2  Thu
6 2.3 23  3  Fri

Используйте список для создания фрейма данных в R

В качестве альтернативы объект фрейма данных может быть создан с помощью объекта списка. Хотя для этого метода требуется другая функция, называемая as.data.frame, которая преобразует единственный объект списка во фрейм данных. Обратите внимание, что в следующем примере мы создаем объект списка с помощью функции list и цепляем этот вызов в качестве аргумента as.data.frame. Поскольку фрейм данных должен иметь метки столбцов, они обычно выбираются автоматически, если пользователь их не указывает. Если при преобразовании выбраны нежелательные имена, всегда можно вызвать функцию colnames и присвоить ей вектор имен столбцов.

v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))

df1 <- as.data.frame(list(v1, v2, v3, wday))
colnames(df1) <- c("v1", "v2", "v3", "wday")
df1

Выход:

v1 v2 v3 wday
1 1.1 11  1  Wed
2 1.2 12  2  Thu
3 1.3 13  3  Mon
4 2.1 21  1  Wed
5 2.2 22  2  Thu
6 2.3 23  3  Fri

Использование матрицы для создания фрейма данных в R

Иногда необходимо выделить огромное количество фреймов данных, которое нецелесообразно инициализировать векторами или списками. К счастью, функция matrix обеспечивает простой и быстрый способ создания больших фреймов данных путем указания номеров строк / столбцов. При желании можно инициализировать значения в кадре данных, используя вектор, переданный в качестве первого аргумента. В противном случае элементы будут иметь значения NA.

m1 <- matrix(1:1000, ncol = 10, nrow = 100)
df1 <- as.data.frame(m1)
df1

Выход:

V1  V2  V3  V4  V5  V6  V7  V8  V9  V10
1     1 101 201 301 401 501 601 701 801  901
2     2 102 202 302 402 502 602 702 802  902
....

Сопутствующая статья - R Data Frame

  • Найти максимальные абсолютные значения по строке во фрейме данных в R
  • Объединить два фрейма данных с разным количеством строк в R
  • Удалить повторяющиеся строки по столбцу в R