               res3 = Profile.LS(fhn, data=data2, times=times, pars=pars,
               coefs=coefs, lambda=lambda, out.meth='nls',
               control.in=control.in, control.out=control.out)

              #Rather than parameter estimates, as with the single replicate analysis, this produces the error:

               Error in as.array.default(Y) : attempt to set an attribute on NULL

This happens for me when I omit the basisvals argument to Profile.LS().
Profile.LS ought to catch this directly.

Profile.LS also produces a slew of warnings while running the example in its
help file.  E.g.,
  Warning in dim(weights[whichrows, ]) == dim(diffs) :
  longer object length is not a multiple of shorter object length

You may want to correspond with maintainer of the CollocInfer package:
  R> maintainer("CollocInfer")
  [1] "Giles Hooker <gjh27@cornell.edu>"

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

From: aleksandr shfets [mailto:a_shfets@mail.ru]
Sent: Wednesday, August 22, 2012 1:52 AM
To: William Dunlap
Cc: R. Michael Weylandt; r-help@r-project.org
Subject: Re[2]: [R] dimnames in an array(I'll be grateful if this message will be passed to all list users)

Hi,
Thank you for the suggestions.
I've attached the code in the text file "test"; to run this one needs the CollocInfer package(available under R 2.14, now I think if you have 2.14 on your system you can download CollocInfer from CRAN).

I've tried the 'error' options you suggest; using the syntax  "dimnames(data2)[1:2]" does seem to give an improvement of the attributes of the array,

But even with the attributes seeming to be in as good order as they might be(i.e., each boxcar, [[1]],[[2]],[[3]] contains the correct number of names), rerunning the analysis with the revised array returns the same error.


traceback() gives
4: `colnames<-`(`*tmp*`, value = c("V", "R"))
3: objective(.par, ...)
2: nlminb(coefs, SplineCoefsErr, gradient = SplineCoefsDC, hessian = Hessian,
       control = control.in, times = times, data = data, lik = lik,
       proc = proc, pars = pars)
1: inneropt(coefs = DEfd2$coefs, times = times, data = data2, lik = lik,
       proc = proc, pars = spars, in.meth = "nlminb", control.in = control.out)

To my (untrained) eye, this points again to some kind of mismatch between the array 'data2' and its dimnames.

Again I'll be grateful if anyone can see what the problem is.

regards,

A
(recover() also is unfruitful)



Fri, 17 Aug 2012 15:28:19 +0000 от William Dunlap <wdunlap@tibco.com<mailto:wdunlap@tibco.com>>:
Have you showed us how to reproduce your original problem?
Have you showed us the output of traceback() after encountering
the error? Have you tried setting options(error=recover) before
encountering the error and then using recover() to look at the dimensions
and dimnames of the array that caused the problem?

This error message
> > Error in `colnames<-`(`*tmp*`, value = c("V", "R")) :
> > length of 'dimnames' [2] not equal to array extent
comes from a nested replacement operation. One such such case is
     mat <- matrix(1:6,nrow=2,ncol=3)
     colnames(mat)[1:2] <- c("V", "R")
where the nested replacement gets expanded into
     tmp <- colnames(mat) # tmp becomes NULL
     tmp[1:2] <- c("V", "R") # tmp becomes c("V","R"), length is 2
     colnames(tmp) <- tmp # error: 2 colnames for 3 columns
(R uses `*tmp*` where I used tmp - the former is for internal use only.)

There are lots of other possibilities, but you need to at least show the
output of traceback() to pin it down.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces@r-project.org<sentmsg?compose&To=r%2dhelp%2dbounces@r%2dproject.org> [mailto:r-help-bounces@r-project.org]<mailto:[mailto:r-help-bounces@r-project.org]> On Behalf
> Of aleksandr shfets
> Sent: Friday, August 17, 2012 6:25 AM
> To: R. Michael Weylandt
> Cc: r-help@r-project.org<sentmsg?compose&To=r%2dhelp@r%2dproject.org>
> Subject: Re: [R] dimnames in an array(I'll be grateful if this message will be passed to all
> list users)
>
>
> Michael,
> Thank you for suggestions;
> it seems to me that there's a fundamental lacuna with respect to names of a three
> dimensional array:
> that is, rownames fits dimension 1, colnames fits another dimension(that is, 3, if I read it
> correctly),
> but there is no specific name for the third dimension. I've tried "setnames" thinking that
> this would be appropriate
> for naming the sets, but there is no such R function.
>
> On the other hand you're right, the suggestion
>              dimnames(data11a)[[2]]=c("V","R")
>
> doesn't ameliorate the analysis: while now dimnames(data11a)[[2]]
>
> comes out as
> [2]
>
> returning to the original analysis the same error comes up, that is, that the length of
> dimnames[2] doesn't agree with thee.
> 'array extent' -- that is, even though the boxcar contents are two in number, it evaluates
> the analysis on the basis of the
> dimnames(data11a)[2] value.
>
> I'm using colloc infer (available under R 2.14) and trying to do the FHN(FitzHugh Nagumo)
> analysis in section 9.1 of the manual; it's very complex work, but I doubt the program is
> in error.
>
> It seems to me in any case that, if R demands that the length of 'dimnames[2] must be
> equal to the array extent, then there must be a way to make the length of the names
> equal to the extent of the array, am I right?
> Otherwise R would be inconsistent with itself, like Nomad on Startrek, and I've never
> seen a case where it was thus.
>
> This is again why I ask if others with extensive experience with dimnames of an array
> have seen anything similar.
> Certainly someone might know what is the significance of the dimnames of the array,
> how much can the length of them be altered for use generally?
>
> regards,
> A
> Thu, 16 Aug 2012 00:00:35 -0400 от "R. Michael Weylandt"
> <michael.weylandt@gmail.com<sentmsg?compose&To=michael.weylandt@gmail.com>>:
> >
> >
> >
>
>
> >
>
>
>
> >On Wed, Aug 15, 2012 at 3:57 AM, aleksandr shfets <a_shfets@mail.ru<sentmsg?compose&To=a_shfets@mail.ru>> wrote:
> >
> > Hi Michael,
> >
> > Thanks for help on double brackets: I wasn't aware of this use of them.
> >
> >
> >
> > I went back to readjust my array so the dimnames(data11a)[[2]] would have
> >
> > two elements, and remade the array to include the new dimnames:
> >
> >
> >
> > dimnames(data11a)[[2]]=c("V","R")
> >
> >
> >
> > so that inside the second car of the train would
> >
> > be two items?
> >
> >
> Yes.
> >
> >
> >
> >
> > There seems to be no way to define dimnames(data11a)[2] to be two elements
> >
> > rather than one[as you say we have no way to combine the elements of the
> >
> > train except using the train].
> >
> >
> You could do this:
> >
> >
> dimnames(data11a)[2] <- list(c("V","R"))
> >
> >
> but I'm not sure that's any clearer. To keep the metaphor rolling (get
> >
> it!), list() puts your stuff in a boxcar so now you can put it
> >
> directly on the train.
> >
> >
> > So having tried to do what I can to make the
> >
> > middle element of the list to two rather than one, I rerun the analysis with
> >
> > the same result.
> >
> >
> >
> > if I read the thing right, regardless of how I define the "inside" of the
> >
> > boxcar, the analysis that I referred to
> >
> >
> >
> > res11a = inneropt(coefs, times=times, data=data11a,
> >
> > lik=lik,
> >
> > proc=proc, pars=spars, in.meth='nlminb',
> >
> > control.in=control.out)
> >
> >
> >
> >
> Where is this inneropt function from? It could be an error in that. If
> >
> it's from a package, give me the name and I'll take a look at it and
> >
> you can also contact the maintainer: get contact info using the
> >
> maintainer() function.
> >
> >
> Also, some of the advice here will probably be helpful in seeking follow-up:
> >
> >http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-
> example
> >
> >
> Cheers,
> >
> Michael
> >
> >
> > still won't look at the 'contents' of the car, but gives the same message:
> >
> >
> >
> > Error in `colnames<-`(`*tmp*`, value = c("V", "R")) :
> >
> > length of 'dimnames' [2] not equal to array extent
> >
> >
> >
> >
> >
> > I've tried a couple of other things like, after defining the second boxcar
> >
> > as:
> >
> >
> >
> > dimnames(data11a)[[2]]=c("V","R")
> >
> >
> >
> >
> >
> > then
> >
> >
> >
> >
> >
> > dimnames(data11a)[2]=list(dimnames(data11a)[[2]])
> >
> >
> >
> >
> >
> > but this last generates an error.
> >
> >
> >
> > Somehow I think that that the clue to the thing is in the error message:
> >
> > what I see[ with my untrained eye] is that there should be some way to
> >
> > reconcile the three-- colnames, dimnames and the array- to a greater degree
> >
> > than their present agreement.
> >
> > Am I right?
> >
> > regards,
> >
> > Russell
> >
> >
> >
> > Tue, 14 Aug 2012 01:27:50 -0400 от "R. Michael Weylandt"
> >
> > <michael.weylandt@gmail.com<sentmsg?compose&To=michael.weylandt@gmail.com>>:
> >
> >
> >
> > On Mon, Aug 13, 2012 at 5:10 AM, aleksandr russell <sss736@gmail.com<sentmsg?compose&To=sss736@gmail.com>> wrote:
> >
> >> Hello,
> >
> >>
> >
> >> I'm hoping someone with a wide experience with R may be able to see
> >
> >> what the program is trying to tell me.
> >
> >>
> >
> >> I've got an array:
> >
> >>
> >
> >> y1=rnorm(41,0.2)
> >
> >> y2=rnorm(41,0.2)
> >
> >> y3=rbind(y1,y2)
> >
> >>
> >
> >>
> >
> >>
> >
> >> data11<-array(0,c(41,2,2))
> >
> >> data11[,1,]=y3
> >
> >> data11[,2,]=y3
> >
> >> rownames(data11)<-rownames(data11, do.NULL = FALSE, prefix = "Obs.")
> >
> >> colnames=c("V","R")
> >
> >> varnames=c("one","two")
> >
> >> dimnames(data11)<-list(rownames(data11), varnames, colnames)
> >
> >>
> >
> >>
> >
> >>
> >
> >> data11a<-as.array(data11, dimnames=dimnames(data11))
> >
> >
> >
> > # No effect here
> >
> > identical(data11, data11a) # TRUE
> >
> >
> >
> >>
> >
> >> The analysis that I would like to do with R(CollocInfer) runs as
> >
> >> follows(I print for the sake of introduction here though to run this
> >
> >> line of code requires extensive setup)
> >
> >>
> >
> >> res11a = inneropt(coefs, times=times, data=data11a, lik=lik,
> >
> >> proc=proc, pars=spars, in.meth='nlminb', control.in=control.out)
> >
> >>
> >
> >>
> >
> >>
> >
> >> The response I get is
> >
> >>
> >
> >> Error in 'colnames<-'('*tmp*', value = c("V","R")) :
> >
> >> length of 'dimnames' [2] not equal to array extent
> >
> >>
> >
> >>
> >
> >>
> >
> >> It seems to me that there is a fundamental match of 'dimnames' with
> >
> >> the array that is being referred to.
> >
> >>
> >
> >> I have learned that the normal length of dimnames for an array is one
> >
> >> for each element in the list: thus as I've set up the array, the
> >
> >> length(dimnames(data11a)[2]) gives me
> >
> >>
> >
> >> [1]
> >
> >
> >
> > I believe you are looking for
> >
> >
> >
> > length(dimnames(data11a)[[2]]) # 2
> >
> >
> >
> > Look into the difference between `[` and `[[` for subsetting a list.
> >
> > See ?Extract for the gorey details, but I like my little train
> >
> > metaphor:
> >
> >
> >
> > If the list "x", is a train: x[2] is the "sub-train" consisting only
> >
> > of the second car, while x[[2]] is the contents of that second car.
> >
> > Hence we can do x[1:3] to give a well defined train, but not x[[1:3]]
> >
> > because we have no way to combine the elements of the first three cars
> >
> > other than using a train.
> >
> >
> >
> > Cheers,
> >
> > Michael
> >
> >
> >
> >>
> >
> >> I would like to ask :Is it not evident from R's response that there is
> >
> >> some other possibility for the dimnames[2] of the array?
> >
> >>
> >
> >> If so, what is it?
> >
> >>
> >
> >> regards,
> >
> >> A
> >
> >>
> >
> >> ______________________________________________
> >
> >> R-help@r-project.org<sentmsg?compose&To=R%2dhelp@r%2dproject.org> mailing list
> >
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >
> >> PLEASE do read the posting guide
> >
> >> http://www.R-project.org/posting-guide.html
> >
> >> and provide commented, minimal, self-contained, reproducible code.
> >
> >
> >
> >
> >
>
>
>
>
>
>
>
> [[alternative HTML version deleted]]


	[[alternative HTML version deleted]]

