Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays 使用索引向量函数访问R中的n维数组_Arrays_R_N Dimensional - Fatal编程技术网

Arrays 使用索引向量函数访问R中的n维数组

Arrays 使用索引向量函数访问R中的n维数组,arrays,r,n-dimensional,Arrays,R,N Dimensional,我在R中的程序创建了一个n维数组 PVALUES = array(0, dim=dimensions) 其中dimensions=c(x,y,z,…) 尺寸将取决于特定的输入。因此,我想创建一个通用代码,它将: 在数组中存储特定元素 从数组中读取特定元素 通过阅读这个网站,我学会了如何从数组中读取元素 ll=list(x,y,z, ...) element_xyz = do.call(`[`, c(list(PVALUES), ll)) 请帮助我解决#1,即将元素存储到n维数组 让我重新表

我在R中的程序创建了一个n维数组

PVALUES = array(0, dim=dimensions)
其中
dimensions=c(x,y,z,…)

尺寸将取决于特定的输入。因此,我想创建一个通用代码,它将:

  • 在数组中存储特定元素
  • 从数组中读取特定元素
  • 通过阅读这个网站,我学会了如何从数组中读取元素

    ll=list(x,y,z, ...)
    element_xyz = do.call(`[`, c(list(PVALUES), ll))
    
    请帮助我解决#1,即将元素存储到n维数组


    让我重新表述我的问题

    假设我有一个4维数组。我可以存储一个值并从此数组中读取一个值:

    PVALUES[1,1,1,1] = 43 #set a value
    data = PVALUES[1,1,1,1] #use a value
    
    如何使用索引向量的函数执行相同的操作:

    indexes = c(1,1,1,1)
    set(PVALUES, indexes) = 43
    data = get(PVALUES, indexes) ?
    

    谢谢

    数组的索引可以使用列数与维度数相同的矩阵来完成:

      # Assignment with "[<-"
      newvals <- matrix( c( x,y,z,vals), ncol=4)     
      PVALUES[ newvals[ ,-4] ]  <- vals
    
     # Reading values with "["
     PVALUES[ newvals[ ,-4] ]
    

    #带“[的作业感谢您的帮助回复

    我将使用以下解决方案:

    PVALUES = array(0, dim=dimensions) #Create an n-dimensional array
    dimensions = c(x,y,z,...,n)
    
    将值设置为PVALUES[x,y,z,…,n]:

    y=c(x,y,z,...,n)
    PVALUES[t(y)]=26
    
    y=c(x,y,z,...,n)
    data=PVALUES[t(y)]
    
    从PVALUES[x,y,z,…,n]读取值:

    y=c(x,y,z,...,n)
    PVALUES[t(y)]=26
    
    y=c(x,y,z,...,n)
    data=PVALUES[t(y)]
    

    你确定你的意思是
    PVALUES[1][1][1][1]
    ?你不是说
    PVALUES[1,1,1]
    ?你只是一次设置一个值吗?你看到了吗?