Программно создавая кадр данных и добавляя к нему строки

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

Вычисленные данные должны храниться в конкретной таблице в базе данных. Я хочу создать кадр данных со столбцами, соответствующими столбцу таблицы db (то есть имя и тип данных [рядом с]]. Для этого мне нужно сделать следующее:

  • Программно создайте фрейм данных с указанными "столбцами" Я знаю, что могу создать это с помощью data.frame(), но неясно, как создать кадр данных только с заголовками столбцов, но пока нет данных (строк).

  • Программно добавить строки в пустой фрейм данных, созданный на шаге 1 выше

Любая помощь (желательно с фрагментом) будет очень полезна

Ответы

Ответ 1

empty <- data.frame(a = numeric(), b = factor(), c = character())
filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def"))

Здесь он находится в действии:

> empty <- data.frame(a = numeric(), b = factor(), c = character())
> empty
[1] a b c
<0 rows> (or 0-length row.names)
> empty$a
numeric(0)
> empty$b
factor(0)
Levels: 
> empty$c
character(0)
> filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def"))
> summary(filled)
       a       b          c            
 Min.   :1   abc:1   Length:1          
 1st Qu.:1           Class :character  
 Median :1           Mode  :character  
 Mean   :1                             
 3rd Qu.:1                             
 Max.   :1