R: Как я могу добавить несколько строк в data.frame в течение всего 1000 *? - PullRequest
0 голосов
/ 14 января 2020

Я обнаружил, что кажется, что я не могу добавить строки в data.frame на месте.

Следующий код является минимальным примером, который должен добавлять новую строку в data.frame при каждой итерации, но он не добавляет ни одного.

Обратите внимание, что на самом деле у меня есть комплекс for-l oop с множеством различных операторов if, и в зависимости от них я хочу добавить новые данные в разные фреймы данных.

df <- data.frame(value=numeric()) 

appendRows <- function(n_rows) {
  for(i in 1:n_rows) {
    print(i)
    df <- rbind(df, setNames(i,names(df)))
  }
}
appendRows(10) #Does not append any row, whereas "df <- rbind(df, setNames(1,names(df)))" in a single call appends one row.

Как можно добавить строки в data.frame на месте?

Спасибо: -)

1 Ответ

1 голос
/ 14 января 2020

Не забудьте вернуть свой объект:

df <- data.frame(value=numeric())

appendRows <- function(n_rows) {
  for(i in 1:n_rows) {
    print(i)
    df <- rbind(df, setNames(i,names(df)))
  }
  return(df)
}
appendRows(10) 

Чтобы изменить df, вы должны сохранить его:

df <- appendRows(10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...