Я хочу, чтобы добавить новую строку в существующий фрейм данных, используя функцию следующим образом:Добавление новой строки в существующий фрейм данных с функцией
df <- data.frame(num1 = numeric(),
num2 = numeric(),
int1 = integer(),
chr1 = character(),
stringsAsFactors=FALSE)
filler <- function() {
newrow = c(0.1, 0.01, 100, "char")
df[nrow(df)+1, ] <- newrow
assign(x = "df", value = df, envir = .GlobalEnv)
}
filler
, но ничего не происходит.
Я хотел бы получить следующий вывод:
> df
num1 num2 int1 chr1
1 0.1 0.01 100 char
Примечание: Я не хочу, чтобы определить новую таблицу в пределах функции, потому что я хочу, чтобы повторно запустить функцию впоследствии с различными «NewRow» значения.
Эта линия будет принуждать все значения 'character' КСТАТИ:' с (0,1, 0,01, 100, " символ ")'. – nrussell
Вы должны передать 'df' в функцию и« вернуть »измененный фрейм данных, чтобы функция вписывалась в парадигму функционального программирования. Или функция не касается кадра данных и просто возвращает 1-строчный кадр данных добавляемой строки. В любом случае просто используйте 'rbind()' внутри функции или вне нее. – Gregor
@ Gregor - ваше решение отлично работало. Благодаря! :) – sandoronodi