rbind数据帧后会出现两个同名列表

rbind数据帧后会出现两个同名列表,r,dataframe,rbind,R,Dataframe,Rbind,} 我使用rbind将新项添加到dataframe book中 结果如图所示 似乎有两个book$ask,我无法将book$ask$oid作为向量传递给另一个函数只需使用新列表而不是数据帧进行rbind book.add <- function(book, message) { if(message$side=="S"){ book$ask <- rbind(book$ask,(data.frame("oid"=message$oid,"price"=message$pri

} 我使用rbind将新项添加到dataframe book中 结果如图所示


似乎有两个book$ask,我无法将book$ask$oid作为向量传递给另一个函数

只需使用新列表而不是数据帧进行rbind

book.add <- function(book, message) {
if(message$side=="S"){
    book$ask <- rbind(book$ask,(data.frame("oid"=message$oid,"price"=message$price,"size"=message$size)))
}
if(message$side=="B"){
    book$bid <- rbind(book$bid,(data.frame("oid"=message$oid,"price"=message$price,"size"=message$size)))
}
return(book)

}

我发现额外的一个是$ask和$bid书中的原始数据存储,rbind操作会生成另一个存储。您可以拥有一个包含多个同名条目的列表,例如,尝试“listaa=1,aa=2”。这个例子不可能知道,因为它是不可复制的。查看一些最佳实践指南,以使您的问题具有可复制性,从而帮助人们帮助您,您的问题并添加dputbook或至少strbook的输出。屏幕截图没有说明数据结构。非常感谢。
book.add <- function(book, message) {
if(message$side=="S"){
    book$ask <- rbind(book$ask,list("oid"=message$oid,"price"=message$price,"size"=message$size),stringsAsFactors=FALSE)
    return(book)
}
if(message$side=="B"){
    book$bid <- rbind(book$bid,list("oid"=message$oid,"price"=message$price,"size"=message$size),stringsAsFactors=FALSE)
    return(book)
}