如何在R中使用rbind将记录添加到数据帧

如何在R中使用rbind将记录添加到数据帧,r,list,dataframe,R,List,Dataframe,我正在尝试使用R中的rbind向数据帧添加行。但是,每次尝试添加行时,数据帧都不会更新。换句话说,下面的代码将生成一个包含2列但观察值为0的数据帧,而它应该包含2列和2个观察值 modeldata2<-data.frame(Model=character(),Accuracy=numeric()) modelname<-"A" accuracystr2<-2.2 rbind(modeldata2,list(modelname,accuracystr2)) modelname

我正在尝试使用R中的rbind向数据帧添加行。但是,每次尝试添加行时,数据帧都不会更新。换句话说,下面的代码将生成一个包含2列但观察值为0的数据帧,而它应该包含2列和2个观察值

modeldata2<-data.frame(Model=character(),Accuracy=numeric())

modelname<-"A"
accuracystr2<-2.2
rbind(modeldata2,list(modelname,accuracystr2))

modelname<-"B"
accuracystr2<-3.2
rbind(modeldata2,list(modelname,accuracystr2))

modeldata2您必须将rbind的结果分配给dataframe变量,如下所示:
modeldata2谢谢,这很有帮助,但现在当它应该将b3.2添加到第二个观察值时,它会添加na3.2,并给出错误“无效因子级别,生成NA”为什么它可以与A配合使用而不能与B配合使用是没有意义的。您知道它为什么会这样做吗?因此,当您在
data.frame
中创建字符串列时,它会将其转换为因子。因为,
B
以前从未见过,所以R拒绝了它。您应该使用,这是数据帧的更现代的实现。但是,如果希望继续以这种方式使用
data.frame
,解决方案是将字符串设置为不转换为因子,方法是将其添加到脚本顶部:
选项(stringsAsFactors=F)
。例子: