Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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/1/list/4.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
R 我试图制作一个简单的数据帧,而我使用的代码并没有达到我的预期_R_Dataframe_Linear Regression - Fatal编程技术网

R 我试图制作一个简单的数据帧,而我使用的代码并没有达到我的预期

R 我试图制作一个简单的数据帧,而我使用的代码并没有达到我的预期,r,dataframe,linear-regression,R,Dataframe,Linear Regression,我有以下功能: linearPerf_DF = (linearPerf_Func(data)); 这个函数返回两个数字,typeof(linearPerf_DF)告诉我它是“double”。不确定这是否是问题的开始。当我打印linearPerf_DF时,在R中看起来像这样: ## [1] 0.2600 0.2601 ## [1] "double" 在这种情况下,我可以引用两个变量,如: linearPerf_DF[1] linearPerf_DF[2] 然后,我构建了

我有以下功能:

 linearPerf_DF = (linearPerf_Func(data));
这个函数返回两个数字,typeof(linearPerf_DF)告诉我它是“double”。不确定这是否是问题的开始。当我打印linearPerf_DF时,在R中看起来像这样:

## [1] 0.2600 0.2601
## [1] "double"
在这种情况下,我可以引用两个变量,如:

linearPerf_DF[1]
linearPerf_DF[2]
然后,我构建了一个简单的数据帧,最初的目的是在这个空白帧中对每一行进行rbind()

error_Df = data.frame(Error_Value = double(),Model_Type=character(),Test_or_train=character())
我用一个列表展示数据帧,它允许我在模型中循环多次(因为vector不能保存不同的数据结构):

我想看到的是

##   Error_Value  Model_Type Test_or_train
## 1      0.2600      Linear         Train
## 2      0.2601      Linear         Test
## 3      0.215      Quadratic      Train
## 4      0.2459      Quadratic      Test
但我真正看到的是:

##   Error_Value  Model_Type Test_or_train
## 1      0.2600      Linear         Train
## 2      0.2300      Linear         Train
## 3      0.3150      Linear         Train
## 4      0.2777      Linear          Test
数字是不同的,因为还有几个模型,但我认为我的意图是有意义的?基本上,我将循环浏览模型中的每个数字,然后添加这两列以进行箱线图。花了几个小时在这上面,不知道出了什么问题

我只能使用Base R,所以dyplr和其他类似的工具不会有帮助

非常感谢

编辑:

打印(dput(linearPerf_DF))给出:


你能把
dput(linearPerf\u-DF)
的输出分享给你的帖子吗?也许你不能解决这个问题,但是你可以用一个线性的方法来创建相同的结果:
data.frame(Error\u Value=c(linearPerf\u-DF[1:2],QuadPerf\u-DF[1:2]),Model\u-Type=rep(c(“线性”,“二次型”),each=2),Test\u或\u-train=rep(c(“火车”,“测试”),times=2))
。打印(dput>(linearPerf_DF))给出:请参见上文。在您共享的信息的代码中未发现任何错误。可能您需要添加更多详细信息。我认为您正在
for
循环中运行此功能,可能需要添加如何在循环中调用此功能。您能否创建一个小示例,让我们重现您遇到的错误?在运行
error_Df[1+i,]=
error_Df[2+i,]=
,…在一个循环中,在第一次迭代中,您写入行1、2、3、4;在第二次迭代中,您写入行2、3、4、5,从而在现有行的基础上重写,等等。对于
循环,您需要做的是使用
error_Df[1+4*(i-1),]=..
然后
错误[2+4*(i-1),]=..
等等。但是正如r2evans所指出的,R有更好的方法来进行这种循环,避免考虑单个索引。
##   Error_Value  Model_Type Test_or_train
## 1      0.2600      Linear         Train
## 2      0.2300      Linear         Train
## 3      0.3150      Linear         Train
## 4      0.2777      Linear          Test
## c(0.26, 0.2601)
## [1] 0.2600 0.2601