Arrays 使用索引向量函数访问R中的n维数组
我在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维数组 让我重新表
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]
?你只是一次设置一个值吗?你看到了吗?