Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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
使用带有11个小数据集的向量的R循环_R_Loops_Vector - Fatal编程技术网

使用带有11个小数据集的向量的R循环

使用带有11个小数据集的向量的R循环,r,loops,vector,R,Loops,Vector,我试图创建一个循环,在11个不同的数据集上运行函数rpt。这是密码 for (i in data_names) { foo = rpt(odba ~ (1|date.1), grname = "date.1", data= data_names[i], datatype = "Gaussian", nboot = 500, npermut = 0) print(foo) } 数据_名

我试图创建一个循环,在11个不同的数据集上运行函数rpt。这是密码

 for (i in data_names) {
    foo = rpt(odba ~ (1|date.1), grname = "date.1", data= data_names[i], datatype = "Gaussian", 
                        nboot = 500, npermut = 0)
    print(foo)
  }
数据_名称是数据集的向量,如图所示。每个数据集都有一列表示Turtle、date.1和odba(本例中的y变量)

当我运行循环时,它告诉我

统计信息中出错::complete.cases(数据[all.vars(公式)]): 参数的“类型”(未知)无效


我不知道它为什么这样做。我尝试在向量中的数据集周围添加引号,但没有任何效果。

将数据放入
列表中
data\u names=list(R3L12rep,R3L1rep,…)
。然后对索引进行迭代,
for(i in 1:length(data_names))
,因为它是一个列表,所以我们要对它进行索引,
data=data_names[[i]]
。您可能也希望将结果放入一个
列表中,否则每次迭代都会覆盖
foo
。在循环初始化之前
foo=list()
,在循环中,
foo[[i]]=rpt(…)
@GregorThomas这似乎对前6个数据集有效谢谢。我得到了一些错误,比如边界(单数)拟合:参见?isSingular和lme4::lFormula中的错误(公式=公式,数据=数据,控制=列表(:0(非NA)案例。因此,您的一些数据集存在问题——听起来像是缺少了很多值。您可以查看
i
的值,查看它停止的迭代,并调查
数据名[[i]]
更深入。或者参阅迭代章节中关于修改函数失败的部分,告诉它如果出现错误该怎么办。查看
?stats::complete.cases
,(您的数据当前测试失败)然后对你发送的数据进行子集,这样你就只展示了完整的案例。谢谢@Gregor Thomas,我对数据集有一些命名问题。现在一切都好了。
data_names = c(R3L12rep, R3L1rep, R3L2rep, R3L4rep, R8L1rep, R3L9rep, R3L8rep, 
                R3L11rep, R8NATL123rep, R8L4rep, R4L8rep)