Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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_Arrays_Matrix_Apply - Fatal编程技术网

R中多维数组的应用

R中多维数组的应用,r,arrays,matrix,apply,R,Arrays,Matrix,Apply,我有一个三维阵列。数组中的第一个矩阵是相关值矩阵,第二个矩阵是这些相关值的p值矩阵。我想选择每一行都具有正相关性和最显著相关性的列。我之前只看了p值矩阵,但我也只需要选择正相关性 仅p值矩阵的示例: Assignments_Cor <- apply(Pmatrix,1,function(x) which(x <= .05 & x==min(x))) 我没有太多使用数组或apply()的经验,对于如何在两个矩阵中调用同一行并应用这些条件,我感到非常困惑。因此,理想情况下,这三

我有一个三维阵列。数组中的第一个矩阵是相关值矩阵,第二个矩阵是这些相关值的p值矩阵。我想选择每一行都具有正相关性和最显著相关性的列。我之前只看了p值矩阵,但我也只需要选择正相关性

仅p值矩阵的示例:

Assignments_Cor <- apply(Pmatrix,1,function(x) which(x <= .05 & x==min(x)))
我没有太多使用数组或apply()的经验,对于如何在两个矩阵中调用同一行并应用这些条件,我感到非常困惑。因此,理想情况下,这三行都应返回第5列,作为每行具有正相关性和显著相关性的列

我已经能够使用for循环实现一个解决方案,但我仍然希望使用apply来更有效地实现这一点。使用我上面给出的数组的前三行示例

for (row in 1:3) {
    print(which(Cor_array [row,,1] > 0 & Cor_array [row,,2] <= .05 & Cor_array [row,,2]==min(Cor_array [row,,2])))
}
for(1:3中的行){

print(其中(Cor_array[row,1]>0和Cor_array[row,2])在更熟悉apply和array之后,以下是我的工作内容

apply(Cor_array,1,function(x) which(x[,1] > 0 & x[,2] <= .05 & x[,2]==min(x[,2])))

apply(Cor_array,1,function(x)哪个(x[,1]>0&x[,2]可以提供一个3d数组的简单示例?@latemail有帮助吗?请使用
dput
或我们可以复制和使用的东西添加数据。阅读和。@Ronaksha我已经添加了dput输出,谢谢你的建议。这是否回答了你的问题?
for (row in 1:3) {
    print(which(Cor_array [row,,1] > 0 & Cor_array [row,,2] <= .05 & Cor_array [row,,2]==min(Cor_array [row,,2])))
}
apply(Cor_array,1,function(x) which(x[,1] > 0 & x[,2] <= .05 & x[,2]==min(x[,2])))