Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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程序的代码..另一个if循环_R_If Statement - Fatal编程技术网

正在修复R程序的代码..另一个if循环

正在修复R程序的代码..另一个if循环,r,if-statement,R,If Statement,问题是,有时我的数据中没有大于或等于5且小于80的数字,或者有时我只有一个观察值,因此无法进行t检验。如何在循环中使用if语句,以便如果它没有得到5到80之间的任何值或只有一个观察值,它只使用NA,而不执行t.test?您可以在lappy中放置这样的“try”块。将结果初始化为NA,如果没有遇到任何错误,它将只分配t.test结果 data2 <- lapply(1:length(m), function(i) { res = NA try({

问题是,有时我的数据中没有大于或等于5且小于80的数字,或者有时我只有一个观察值,因此无法进行t检验。如何在循环中使用if语句,以便如果它没有得到5到80之间的任何值或只有一个观察值,它只使用
NA
,而不执行t.test?

您可以在lappy中放置这样的“try”块。将结果初始化为NA,如果没有遇到任何错误,它将只分配t.test结果

data2 <- lapply(1:length(m), function(i) {
         res = NA
         try({ 
             #you can put your other constraints here
             if(length(m[[i]][[5]]) > 1) {
                 res = t.test(data1$Value,m[[i]][[5]])
             }
         }, silent=T)
         res
 })
data2(1){
res=t.test(数据1$Value,m[[i]][[5]])
}
},无声=T)
物件
})
您可以在lappy中放置一个像这样的“try”块。将结果初始化为NA,如果没有遇到任何错误,它将只分配t.test结果

data2 <- lapply(1:length(m), function(i) {
         res = NA
         try({ 
             #you can put your other constraints here
             if(length(m[[i]][[5]]) > 1) {
                 res = t.test(data1$Value,m[[i]][[5]])
             }
         }, silent=T)
         res
 })
data2(1){
res=t.test(数据1$Value,m[[i]][[5]])
}
},无声=T)
物件
})

DWin是正确的。类型在R中很重要,并且长度并不总是按照您对数据帧的预期方式工作。您应该能够使用
nrow
nrow
获取“长度”。如果其他方法都失败了,你可以使用
试试
,但那总是让我觉得脏兮兮的


不过,为了确定,请按照马修的要求提供一个例子。

DWin是正确的。类型在R中很重要,并且长度并不总是按照您对数据帧的预期方式工作。您应该能够使用
nrow
nrow
获取“长度”。如果其他方法都失败了,你可以使用
试试
,但那总是让我觉得脏兮兮的


不过,为了确定,请按照Matthew的要求提供一个示例。

请提供一个样本数据集和该数据集所需的输出。这样做可以让参与者快速验证结果并比较解决方案。您的问题是空数据帧的长度不是零。测试
NROW(.)<2
。请提供此数据集的样本数据集和所需输出。这样做可以让参与者快速验证结果并比较解决方案。您的问题是空数据帧的长度不是零。测试
NROW(.)<2