Как создать пустой фрейм данных в R (с примерами)


Есть два основных способа создать пустой фрейм данных в R:

Способ 1: Матрица с именами столбцов

#create data frame with 0 rows and 3 columns
df <- data.frame(matrix(ncol = 3, nrow = 0))

#provide column names
colnames(df) <- c('var1', 'var2', 'var3')

Способ 2: инициализировать пустые векторы

#create data frame with 5 empty vectors
df2 <- data.frame(Doubles= double (),
 Integers= integer (),
 Factors= factor (),
 Logicals= logical (),
 Characters= character (),
 stringsAsFactors= FALSE )

В этом руководстве показаны примеры использования этих двух методов на практике.

Способ 1: Матрица с именами столбцов

Первый способ создать пустой фрейм данных — выполнить следующие шаги:

  • Определите матрицу с 0 строками и любым количеством столбцов.
  • Затем используйте функцию data.frame() , чтобы преобразовать его во фрейм данных, и функцию colnames() , чтобы присвоить ему имена столбцов.
  • Затем используйте функцию str() для анализа структуры результирующего фрейма данных.

Например:

#create data frame with 0 rows and 5 columns
df <- data.frame(matrix(ncol = 5, nrow = 0))

#provide column names
colnames(df) <- c('var1', 'var2', 'var3', 'var4', 'var5')

#view structure of the data frame
str(df)

'data.frame': 0 obs. of 5 variables:
 $ var1: logi 
 $ var2: logi 
 $ var3: logi 
 $ var4: logi 
 $ var5: logi

Мы можем видеть, что результирующий фрейм данных имеет 0 наблюдений (т.е. строк), 5 переменных (т.е. столбцов), и каждая из переменных относится к классу логических .

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

Способ 2: инициализировать пустые векторы

Второй способ создать пустой фрейм данных — выполнить следующие шаги:

  • Определите фрейм данных как набор пустых векторов с определенными типами классов.
  • Задайте stringsAsFactors=False , чтобы любые векторы символов обрабатывались как строки, а не факторы.

Например:

#create data frame with 5 empty vectors
df2 <- data.frame(Doubles= double (),
 Integers= integer (),
 Factors= factor (),
 Logicals= logical (),
 Characters= character (),
 stringsAsFactors= FALSE )

#view structure of the data frame
str(df2)

'data.frame': 0 obs. of 5 variables:
 $ Doubles : num 
 $ Integers : int 
 $ Factors : Factor w/ 0 levels: 
 $ Logicals : logi 
 $ Characters: chr

Мы видим, что результирующий фрейм данных имеет 0 наблюдений (т.е. строк), 5 переменных (т.е. столбцов), и каждая из переменных относится к пяти различным классам.

Обратите внимание, что мы также смогли предоставить имена столбцов для фрейма данных всего за один шаг (например, имя первого столбца — «Двойники», имя второго столбца — «Целые числа» и так далее.

Дополнительные ресурсы

В следующих руководствах объясняется, как создавать другие пустые объекты в R:

Как создать пустой список в R
Как создать пустой вектор в R
Как создать пустую матрицу в R