Удобный способ в R создавать новые строки и добавлять их во фрейм данных - PullRequest
0 голосов
/ 25 мая 2020

Я хочу добавить «пустые» строки данных в существующий фрейм данных в R. Почему? Для ввода данных пользователями в моем веб-приложении R.

Я нашел это решение, используя базовые методы в R.

as.data.frame(lapply(df, rep, df$ntimes))

Я хотел более чистый, «аккуратный» метод.

Ответы [ 2 ]

2 голосов
/ 25 мая 2020

bind_rows() заполняет отсутствующие столбцы с помощью NA, поэтому вы можете сделать это, добавив таблицу, в которой есть только столбец id.

library(dplyr)

# Example table
customer <- tibble(
   id = c(1, 2), 
   name = c("Stephen", "Samantha"),
   destination = c("Kona", "Rome")
)

new_rows_requested <- 100

add_rows <- tibble(id = max(customer$id) + 1:new_rows_requested)
customer <- bind_rows(customer, add_rows)
0 голосов
/ 25 мая 2020

Вот простой способ добавить строки в существующий фрейм данных.

library(dplyr)

customer <- tibble(
   id = c(1, 2), 
   name = c("Stephen", "Samantha"),
   destination = c("Kona", "Rome")
)

new_rows_requested <- 100

add_rows <- tibble(
    id = NA, name = "", destination = ""
  ) %>% 
  slice(rep(1:1, each = new_rows_requested)) %>%
  mutate(id = row_number() + max(customer$id))

customer <- bind_rows(customer, add_rows)

Надеюсь, это поможет другим. Интересны и другие подходы.

...