Я пытаюсь создать пустой кадр данных с двумя столбцами и неизвестным числом строк. Я хотел бы указать имена столбцов. Я выполнил следующую команду
dat <- data.frame("id"=numeric(),"nobs"=numeric())
Я могу проверить результат, запустив
> str(dat)
'data.frame': 0 obs. of 2 variables:
$ id : num
$ nobs: num
Но позже, когда я вставляю данные в этот фрейм данных, используя rbind в следующей команде, имена столбцов также изменяются
for (i in id) {
nobs = nrow(na.omit(read.csv(files_list[i])))
dat = rbind(dat, c(i,nobs))
}
После цикла for это значение dat
dat
X3 X243
1 3 243
И команда str показывает следующие
str(dat)
'data.frame': 1 obs. of 2 variables:
$ X3 : num 3
$ X243: num 243
Может ли кто-нибудь сказать, почему имена столбцов в изменении фрейма данных
EDIT:
Мое ленивое решение для решения проблемы заключается в том, чтобы запускать команды follwing после цикла, который привязывает данные к моему data.frame
names(dat)[1] = "id"
names(dat)[2] = "nobs"