Я только начинаю с R и сталкивается с странным поведением: при вставке первой строки в пустой фрейм данных теряются исходные имена столбцов.
Пример:
a<-data.frame(one = numeric(0), two = numeric(0))
a
#[1] one two
#<0 rows> (or 0-length row.names)
names(a)
#[1] "one" "two"
a<-rbind(a, c(5,6))
a
# X5 X6
#1 5 6
names(a)
#[1] "X5" "X6"
Как вы можете видеть, имена столбцов один и два были заменены на X5 и X6.
Может кто-нибудь, пожалуйста, скажите мне, почему это происходит, и есть ли правильный способ сделать это без потери имен столбцов?
Решение для дробовика состояло в том, чтобы сохранить имена во вспомогательном векторе, а затем добавить их обратно, когда закончите работу с фреймом данных.
Спасибо
Context:
Я создал функцию, которая собирает некоторые данные и добавляет их как новую строку в кадр данных, полученный в качестве параметра. Я создаю фрейм данных, перебираю через свои источники данных, передавая data.frame каждому вызову функции, который заполняется его результатами.