Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将FOR循环中的值插入数据帧R_R_Rbind - Fatal编程技术网

将FOR循环中的值插入数据帧R

将FOR循环中的值插入数据帧R,r,rbind,R,Rbind,执行此代码时,出现以下错误: 我想从for循环将结果rbind到数据帧。问题出在对象“y.1”中,结果数据帧有3/4/5个值。我想要一个有5列的数据框,并用值替换零,否则,将其保留为零 model_reacts是sbml.model中的反应物列表,sbml.model是“model”类的rsbml对象 这里给出了模型_反应物的样品结构 dput(模型_反应物[1:5]) 结构(list)(R_13DAMPPOX=结构(list(M_13dampp_c=), M_h2o_c=, M_o2_c=),

执行此代码时,出现以下错误: 我想从for循环将结果rbind到数据帧。问题出在对象“y.1”中,结果数据帧有3/4/5个值。我想要一个有5列的数据框,并用值替换零,否则,将其保留为零

model_reacts是sbml.model中的反应物列表,sbml.model是“model”类的rsbml对象

这里给出了模型_反应物的样品结构

dput(模型_反应物[1:5]) 结构(list)(R_13DAMPPOX=结构(list(M_13dampp_c=), M_h2o_c=, M_o2_c=),.Names=c(“M_13p_c”, “M_h2o_c”,“M_o2_c”)、R_24_25VITD2Hm=结构(列表(M_h_M=, M_nadph_M=, M_o2_M=, M_25hvitd2_M=),.Names=c(“M_h_M”, “M_nadph_M”、“M_o2_M”、“M_25hvitd2_M”)、R_24_25VITD3Hm=结构(列表( M_h_M=, M_nadph_M=, M_o2_M=, M_25hvitd3_M=),.Names=c(“M_h_M”, “M_nadph_M”、“M_o2_M”、“M_25hvitd3_M”)、R_25VITD2Hm=结构(列表( M_h_M=, M_nadph_M=, M_o2_M=, M_25hvitd2_M=),.Names=c(“M_h_M”, “M_nadph_M”、“M_o2_M”、“M_25hvitd2_M”)、R_25VITD3Hm=结构(列表( M_h_M=, M_nadph_M=, M_o2_M=, M_25hvitd3_M=),.Names=c(“M_h_M”, “M_nadph_M”、“M_o2_M”、“M_25hvittd3_M”),.Names=c(“R_13m”), “R_24_25VITD2M”、“R_24_25VITD3M”、“R_25VITD2M”、“R_25VITD3M” ))


你需要分享这个“模型反应物”对象是什么。@snoram更新了关于该对象的信息。你能看一下吗。如果您可以生成一个小的示例数据集,并显示预期结果,那么获得帮助就会容易得多。好的,谢谢您的更新,但是需要更多的信息。您清楚预期的输出,但不清楚输入。你能用dput(模型反应物[1:5])的结果编辑你的问题吗?(如果用这种方法索引有意义的话)请。@user20650是的,它确实有意义。我是以槽的形式存在的对象。第一个元素,我把它捕获到“x”对象中,第二个元素是变质岩列表。有时包含3个、4个或5个插槽。因此,我需要将它们捕获到“y”对象中并创建一个数据帧。如果有3个插槽,那么数据框中应该只有3个条目,其他两列应该显示“0”或“NA”,您需要共享,包括这个“模型反应物”对象是什么。@snoram更新了关于该对象的信息。您能看一下吗。如果您可以生成一个小的示例数据集,并显示预期结果,那么获得帮助就会容易得多。好的,谢谢您的更新,但是需要更多的信息。您清楚预期的输出,但不清楚输入。你能用dput(模型反应物[1:5])的结果编辑你的问题吗?(如果用这种方法索引有意义的话)请。@user20650是的,它确实有意义。我是以槽的形式存在的对象。第一个元素,我把它捕获到“x”对象中,第二个元素是变质岩列表。有时包含3个、4个或5个插槽。因此,我需要将它们捕获到“y”对象中并创建一个数据帧。如果有3个插槽,那么数据框中应该只有3个条目,其他两列应该显示“0”或“NA”
model_reactants=sapply(reactions(sbml.model), function(x) x@reactants)
x.1<- data.frame(matrix(0,ncol = 1, nrow = 4155))
y.1<- data.frame(matrix(0,ncol = 5, nrow = 4155))

for (r in 1:length(model_reactants)){
    x=names(model_reactants[r])
    y=names(model_reactants[[r]])
    x.1[r,]=c(x)
    y.1[r,]=c(y)
}

Error in `[<-.data.frame`(`*tmp*`, r, , value = c("M_13dampp_c", "M_h2o_c",  : 
replacement has 3 items, need 5
eg: model: reaction1:
a+b-> c+d
reaction2:
e+f+g->h+i+j

expected output:
      col 1   col 2 col 3
row 1  a        b     NA
row 2  e        f     g