使用函数向现有数据框添加新行
Adding new row to an existing data frame with a function
我想向现有数据框添加新行,使用如下函数:
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
注意:我不想在一个函数中定义新的 table,因为我想之后用不同的 "newrow" 值重新运行该函数。
我相信这应该可以解决您的问题。我使用了一个通用的行,这样你就可以将新值传递给数据框。您可以通过执行以下操作来传递值向量:c(value1, value2, value3, value4)
df <- data.frame(num1 = numeric(),
num2 = numeric(),
int1 = integer(),
chr1 = character(),
stringsAsFactors=FALSE)
row_attempt <- c(1,2,3,"Master")
filler <- function(frame_to_attach, my_row){
newrow = my_row
data_frame <- rbind(frame_to_attach,my_row)
colnames(data_frame) <- colnames(frame_to_attach)
return(data_frame)
}
z <- filler(df, row_attempt)
z
我想向现有数据框添加新行,使用如下函数:
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
注意:我不想在一个函数中定义新的 table,因为我想之后用不同的 "newrow" 值重新运行该函数。
我相信这应该可以解决您的问题。我使用了一个通用的行,这样你就可以将新值传递给数据框。您可以通过执行以下操作来传递值向量:c(value1, value2, value3, value4)
df <- data.frame(num1 = numeric(),
num2 = numeric(),
int1 = integer(),
chr1 = character(),
stringsAsFactors=FALSE)
row_attempt <- c(1,2,3,"Master")
filler <- function(frame_to_attach, my_row){
newrow = my_row
data_frame <- rbind(frame_to_attach,my_row)
colnames(data_frame) <- colnames(frame_to_attach)
return(data_frame)
}
z <- filler(df, row_attempt)
z