Hello,

I just wanted to say that I just stumbled upon the solution by accident!
After your comment on lists I searched for some more information on vectors,
lists and matrices. I read that using double ['s instead of singles drops
the names of the dimensions used.
I then gave
parameterList[aCounter, 3] <<- blaah
instead of
parameterList[[aCounter, 3]] <<- blaah
a quick try and voila!

In hindsight I guess I was just thinking to much in python style where
matrices dont have dimension naming. (python being the language in which I
first learned to program and quite similar to R)

But thanks for your help anyway!

Mipam Bruining

2010/11/1 Ivan Calandra <ivan.calan...@uni-hamburg.de>

> Hi,
>
> Not sure what the problem is, but you have weird data structures. I mean,
> having lists within matrices is possible (I've learned it last week!), but
> it is really confusing.
>
> You didn't provide every object like the complete parameterList and
> aCounter, but the only difference I see in
>
> aParameterValue <- as.matrix(parameterList[[aCounter,3]])
> ...
> blaah <<- aParameterValue
> ...
> parameterList[aCounter, 3] <<- blaah
> between the original parameterList[[aCounter,3]] and the new one is that
> your aParameterValue, and therefore blaah, is a matrix, and a weird one,
> that you try to assign into a non-matrix object.
>
> Have you tried without as.matrix()? What about storing everything in a list
> and using indexing?
>
> HTH,
> Ivan
>
>
> Le 11/1/2010 14:43, Mipam Bruining a écrit :
>
>> Hello,
>>
>> here are the results from using dput() on the objects in question.
>>
>> >dput(blaah)
>> structure(list("Insert single selection box title here", "Insert slider
>> bar title here",
>>    "SingleSelect", "Slider", 1, 50, list("Option a", "Option b",
>>        "Option c"), list(0, 100)), .Dim = c(2L, 4L), .Dimnames = list(
>>    c("exampleSingleSelect", "exampleSlider"), NULL))
>>
>> >dput(parameterList[aCounter, 3])
>> list(structure(list("Insert single selection box title here",
>>    "Insert slider bar title here", "SingleSelect", "Slider",
>>    1, 0, list("Option a", "Option b", "Option c"), list(0, 100)), .Dim =
>> c(2L,
>> 4L), .Dimnames = list(c("exampleSingleSelect", "exampleSlider"
>> ), NULL)))
>>
>>
>> The matrix parameterList was constructed as followed:
>>
>> <R script>
>> exampleSlider = list("Insert slider bar title here", "Slider", 0,
>> list(0,100))
>> exampleSingleSelect = list("Insert single selection box title here",
>> "SingleSelect", 1,
>> list("Option a", "Option b", "Option c"))
>>
>> parameterList = rbind(list("more advanced options", "Button",
>> rbind(exampleSingleSelect,exampleSlider ), " ")
>> ...
>> aParameterValue <- as.matrix(parameterList[[aCounter,3]])
>> ...
>> blaah <<- aParameterValue
>> ...
>> parameterList[aCounter, 3] <<- blaah
>>
>> </R script>
>>
>> As a side note: The ... represents various other lines. The construction
>> parameterList <<- blaah <<- aParameterValue is an ad-hoc solution to using
>> global and local variables that I will try to smooth over once it works as
>> it is now. To be more specific, the value aParameterValue is a local
>> variable that is created in a subfunction which is called upon once for each
>> row in parameterList, each time the user presses a button in the created
>> tcltk window.
>> The blaah variable is a global variable that solves the problem of tlctk
>> buttons not being able to receive the returned values from the function it
>> calls and parameterList somehow not being able to be updated correctly
>> within this function.
>>
>> I hope anyone can make sense of this story :S
>>
>> Mipam Bruining
>>
>>
>> 2010/11/1 Ivan Calandra <ivan.calan...@uni-hamburg.de <mailto:
>> ivan.calan...@uni-hamburg.de>>
>>
>>
>>    Hi,
>>
>>    I think you _*should*_ provide more:
>>    - the objects you have, such as parameterList and blaah: copy the
>>    output from dput(object) in your next e-mail
>>    - the _*relevant*_ code for how you've built them
>>
>>    I guess you will get more and better answers if you give a clear
>>    and complete description of your problem.
>>
>>    Ivan
>>
>>    Le 11/1/2010 12:55, Mipam Bruining a écrit :
>>
>>        Hey all,
>>
>>        I am writing a function in which I will have a matrix of 4
>>        columns and a
>>        variable amount of rows.
>>        The first to columns will always contain be of the Character
>>        type, the third
>>        and fourth columns
>>        can be a variation of data types, usually characters and
>>        integers, but
>>        sometimes lists or matrices.
>>
>>        At one point the code makes, for each row, a copy of that row,
>>        then it makes
>>        some adjustments
>>        to the values in the third column, and then it overwrites the
>>        original
>>        matrix row with the copy. It is here
>>        that I get the error from my subject title, "number of items
>>        to replace is
>>        not a multiple of replacement length".
>>        This is strange because the items to replace in this instance
>>        seem to me and
>>        should be an exact copy of the
>>        replacement, save that the number 0 in this particular
>>        instance is to be
>>        replaced with the number 58.
>>
>>        If I print the variables in question I get this: (added some
>>        tabs to allign
>>        the columns for readability)
>>
>>            print(parameterList[aCounter, 3])
>>
>>        [[1]]
>>                                              [,1]
>>                         [,2]           [,3]    [,4]
>>        exampleSingleSelect   "Insert single selection box title here"
>>        "SingleSelect"  1    List,3
>>        exampleSlider             "Insert slider bar title here"
>>        "Slider"        0   List,2
>>
>>            print(blaah)
>>
>>                                             [,1]
>>                         [,2]           [,3]   [,4]
>>        exampleSingleSelect  "Insert single selection box title here"
>>        "SingleSelect"
>>        1    List,3
>>        exampleSlider            "Insert slider bar title here"
>>         "Slider"       58   List,2
>>
>>
>>        The command that caused the error is this:
>>
>>            parameterList[aCounter, 3]<<- blaah
>>
>>
>>        I hope I've given enough information for someone else to be
>>        able to make
>>        sense of it all. If not I'd be happy to supply additional code
>>        or info on how the script works, but I think that most of it
>>        would be
>>        irrelevant and complicated.
>>
>>         Many thanks in advance,
>>        Mipam Bruining
>>
>>               [[alternative HTML version deleted]]
>>
>>        ______________________________________________
>>        R-help@r-project.org <mailto:R-help@r-project.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.
>>
>>
>>    --     Ivan CALANDRA
>>    PhD Student
>>    University of Hamburg
>>    Biozentrum Grindel und Zoologisches Museum
>>    Abt. Säugetiere
>>    Martin-Luther-King-Platz 3
>>    D-20146 Hamburg, GERMANY
>>    +49(0)40 42838 6231
>>    ivan.calan...@uni-hamburg.de <mailto:ivan.calan...@uni-hamburg.de>
>>
>>
>>    **********
>>    http://www.for771.uni-bonn.de
>>    http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php
>>
>>    ______________________________________________
>>    R-help@r-project.org <mailto:R-help@r-project.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.
>>
>>
>>
> --
> Ivan CALANDRA
> PhD Student
> University of Hamburg
> Biozentrum Grindel und Zoologisches Museum
> Abt. Säugetiere
> Martin-Luther-King-Platz 3
> D-20146 Hamburg, GERMANY
> +49(0)40 42838 6231
> ivan.calan...@uni-hamburg.de
>
> **********
> http://www.for771.uni-bonn.de
> http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.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.

Reply via email to