Displaying 20 results from an estimated 9000 matches similar to: "idea for "virtual matrix/array" class"
2010 Dec 16
1
Subarray specification problem
Hi. I'm new to R, and I'm still learning R's system for addressing
subsets of data structures. I'm particularly interested in the
problem of selecting subarrays based on complex criteria involving the
dimnames (as opposed to the values of the cells) of the array. Here's
an example of such a problem.
Suppose I have an array x of unknown dimensions (it may have been
passed as
2006 Oct 19
2
arraytake for extracting subarrays from multidimensional arrays
Hi,
I recently encountered a problem with array subsetting and came up with a
fix. Given an array of arbitrary dimensions, in which the number of
dimensions is only known at runtime, I wanted to extract a subarray. The
main issue with doing this is that in order to extract a subarray from an
array of (say) 4 dimensions you usually specify something like this
a.subarray <- a[,c(4,2),1:5,]
2005 Apr 29
2
Subarrays
Define an array
> v<-1:256
> dim(v)<-rep(4,4)
Subarrays can be obtained as follows:
> v[3,2,,2]
[1] 71 87 103 119
> v[3,,,2]
[,1] [,2] [,3] [,4]
[1,] 67 83 99 115
[2,] 71 87 103 119
[3,] 75 91 107 123
[4,] 79 95 111 127
In the general case this procedure is very tedious.
Given an array
A, dim(A)=(dim_1,dim_2,...,dim_d)
and two vectors
2010 Mar 18
2
how to take multiple subsets from a matrix
useR's
I have a matrix from which I want to take multiple subsets from, according
to a particular scheme I will now describe. The matrix below (mat) is 5x5,
and I want to take 9 subsets of it, each of dimension 3x3. The best way to
explain what the result should look like is with the following:
> dat <- c(3,6,1,9,12,9,2,10,6,5,3,13,1,4,8,9,4,6,10,11,2,7,3,5,10)
> miss <-
2007 Nov 24
1
ragged array with append
I wonder what's the right way in R to do the following -- placing
objects of the same kind together in subarrays of varying length.
Here's what I mean:
> word <- c("a","b","c","d","e","f","g","h","i","j")
> kind <- c(1,1,1,2,3,4,5,5,7,7)
> d <-
2010 Mar 16
2
Help running a Fortran subroutine from R
useR's,
I need help getting a Fortran DLL successfully returning the correct output.
The attached fortran source code (filter2d.f) and DLL (filter2d.dll) are
attached. Also, I attached a text file for which I want to apply the filter
to (time702.txt).
Here is what I am doing...
> dyn.load("C:/f/NEW/filter2d.dll")
> is.loaded("filter2d")
[1] TRUE
Then I pass the
2006 Aug 11
2
Array#chunk method, maybe someone will find this useful
class Array
# break an array up into <size> chunks
def chunk(size=1)
return self if self.empty?
raise ArgumentError if !size.kind_of? Integer
y = self.length.divmod(size)
rows = (y[1] > 0) ? y[0] + 1 : y[0]
arr = Array.new(rows)
(0...rows).each do |i|
arr[i] = self.slice(size*i, size)
end
(arr.last.length...size).each { |i| arr.last[i] = nil }
2004 Sep 15
2
efficient submatrix extraction
Hi,
I have a matrix of say 1024x1024 and I want to look at it in chunks.
That is I'd like to divide into a series of submatrices of order 2x2.
| 1 2 3 4 5 6 7 8 ... |
| 1 2 3 4 5 6 7 8 ... |
| 1 2 3 4 5 6 7 8 ... |
| 1 2 3 4 5 6 7 8 ... |
...
So the first submatrix would be
| 1 2 |
| 1 2 |
the second one would be
| 3 4 |
| 3 4 |
and so on. That is I want the matrix to be evenly divided
2012 Feb 09
2
fill an array by rows
I've dug around but not been able to find anything, am probably missing
something obvious.
How can I fill a three-dimensional (or higher dimension) array by rows
instead of columns.
eg
new1 <- array(c(1:125), c(5,5,5))
works fine for me but fills it by columns and
new2 <- array(c(1:125), c(5,5,5), byrow=TRUE)
throws an error.
Am I missing something obvious? I also tried
2011 Jul 27
2
Elegant way to subtract matrix from array
there are really two related problems here
I have a 2D matrix
A <- matrix(1:100,nrow=20,ncol =5)
S <- matrix(1:10,nrow=2,ncol =5)
#I want to subtract S from A. so that S would be subtracted from the
first 2 rows of
#A, then the next two rows and so on.
#I have a the same problem with a 3D array
# where I want to subtract Q for every layer (1-10) in Z
# I thought I solved this one
2011 May 19
2
Add a vector to the values in a specific dimension of an array
Hello,
A simple question, although I can't find an answer via my google/forum
search:
I have a 4-dimensional array; call it A[1:M,1:N,1:P,1:Q]. I have a vector x
that is N by 1.
I would like to "quickly" add x to the 2nd dimension of A; in other words, I
want a quicker way of doing the following:
for (m in 1:M) {
for (p in 1:P) {
for (q in 1:Q) {
A[m,,p,q] =
2010 Dec 27
1
aperm() should retain class of input object
aperm() was designed for multidimensional arrays, but is also useful for
table objects, particularly
with the lattice, vcd and vcdExtra packages. But aperm() was designed
and implemented before other
related object classes were conceived, and I propose a small tune-up to
make it more generally useful.
The problem is that aperm() always returns an object of class 'array',
which
2005 Aug 16
3
how to reshape an array avoiding for loops
Dear r-help,
I have an array a1 with dimensions [1:660,1:65,1:25]
I would like the first dimension to be the last one.
That is I want and array [1:65,1:25,1:660]
The only way to do this, I know, is
tmp.a<-array(dim=dim(a1)[c(2,3,1)])
for(i in 1:dim(a1)[1]) tmp.a[,,i]<-a1[i,,]
a1<-tmp.a
rm(tmp.a)
Is it possible to avoid 'for' loop here?
Thank you!
---
2006 Aug 01
2
Indexing issue
Hi,
R is having the following weird behavior and I am not sure if that is a
feature or a bug:
I am working on the following "3D" array:
> bIm
, , 1
[,1]
[1,] TRUE
[2,] TRUE
[3,] TRUE
[4,] TRUE
[5,] TRUE
> class(bIm)
[1] "array"
> dim(bIm)
[1] 5 1 1
When I try to get the first 2D subarray, the whole thing folds into a
vector:
> bIm[,,1]
[1] TRUE TRUE TRUE
2011 Feb 18
6
sort a 3 dimensional array across third dimension ?
I'm attempting to sort a 3 dimensional array that looks like this
> x
, , 1
[,1] [,2]
[1,] 9 9
[2,] 7 9
, , 2
[,1] [,2]
[1,] 6 5
[2,] 4 6
, , 3
[,1] [,2]
[1,] 2 1
[2,] 3 2
Such that it ends up like this ....
> y
, , 1
[,1] [,2]
[1,] 2 1
[2,] 3 2
, , 2
[,1] [,2]
[1,] 6 5
[2,] 4 6
, , 3
[,1] [,2]
2003 Oct 31
4
Array Dimension Names
I would like to reference array dimensions by name in an apply and a summary
function. For example:
apply(x, "workers", sum)
Is there a better way to do this than creating a new attribute for the array
and then creating new methods for apply and summary? I don't want to name
the individual elements of each dimension (such as with dimnames) but rather
name the dimensions. Thanks
2010 Jan 12
1
coerce vector into array - change filling sequence
Dear all,
When I coerce a vector into a multi dimensional array, I would like R to start filling the array along the last dimension, then the 2nd last etc.
Let's jump straight into an example.
x <- 1 : 24
y <- array(dim=c(2,2,6))
I would like to have:
y[1,1,1] = 1
y[1,1,2] = 2
...
y[1,1,6] = 6
y[1,2,1] = 7
y[1,2,2] = 8
...
y[2,1,1] = 13
...
y[2,2,1] = 19
if I do y<- array(x,
2009 Feb 24
2
Transpose array
Hi Listers,
Is there a way that I can transpose an array...
Suppose I have the following array...
x<-array(c(1,2,3,4),dim=c(1,2,2))
, , 1
[,1] [,2]
[1,] 1 2
, , 2
[,1] [,2]
[1,] 3 4
And I would like to get the following result...
, , 1
[,1]
[1,] 1
[,2] 2
, , 2
[,1] [,2]
[1,] 3
[,2] 4
Thanks in advance,
Marcio
--
View this message in context:
2004 Jan 04
1
array problem
Dear all,
I define , for n=5 or any integer greater than 0.
A<-array((1/2)^n , c(rep(2,n)))
then for any i not equal to j, and 1<=i,j<=n,
B<-apply(a,c(i,j),sum)
now B is a 2 by 2 matrix, I also define another costant 2 by 2 matrix G,
How can I change the values of each elements of array A, according the rule
that,
for example, i=3,j=5,
2013 Feb 14
3
list of matrices --> array
i'm somehow embarrassed to even ask this, but is there any built-in
method for doing this:
my_list <- list()
my_list[[1]] <- matrix(1:20, ncol = 5)
my_list[[2]] <- matrix(20:1, ncol = 5)
now, knowing that these matrices are identical in dimension, i'd like
to unfold the list to a 2x4x5 (or some other permutation of the dim
sizes) array.
i know i can initialize the array, then