[R] insert() function

Henrik Bengtsson hb at stat.berkeley.edu
Thu Feb 21 18:31:37 CET 2008


> spect2 <- insert(spect1, ats=pos, values=as.list(intensities))
> str(spect2)
 num [1:13112] -0.457 -0.457  0.300  1.781 -0.381 ...

/Henrik

On Thu, Feb 21, 2008 at 9:26 AM, Henrik Bengtsson <hb at stat.berkeley.edu> wrote:
> On Thu, Feb 21, 2008 at 4:30 AM, Dani Valverde <daniel.valverde at uab.cat> wrote:
>  > Hello,
>
> >  I still having problems with insert() from R.utils package. I provide a
>  >  code with no error:
>  >
>  > x <- seq(1:10909)
>  >  x1 <- c(13112-10909)
>  >  spect1 <- rnorm(10909)
>  >
>  > interpol <- approx(x,spect1,xout=c(seq(from=1, by=((10909 - 1)/(x1 -1)),
>  >  length.out=x1)))
>  >  pos <- round(interpol$x,0)
>  >  intensities <- interpol$y
>  >
>  > str(spect1)
>  >  str(pos)
>  >  str(intensities)
>
>  So what does these output?  They are the ones that will give you a
>  lead to solving your problem, which I think is unrelated to insert().
>
>  /Henrik
>
>
>
>  >
>  >  Then, when I call:
>  >  library(R.utils)
>  >
>  > spect2 <- insert(spect1,ats=pos,values=intensities)
>  >
>  >  I have this error:
>  >
>  >
>  >  Error in list("insert(spect1, ats = pos, values = intensities)" =
>  >  <environment>,  :
>  >
>  >  [2008-02-21 13:27:49] Exception: Argument 'ats' and argument 'values'
>  >
>  > has different lengths: 2203 != 1
>  >   at throw(Exception(...))
>  >   at throw.default("Argument 'ats' and argument 'values' has different
>  >  lengths: ", length(ats), " != ", length(values))
>  >   at throw("Argument 'ats' and argument 'values' has different lengths:
>  >  ", length(ats), " != ", length(values))
>  >   at insert.default(spect1, ats = pos, values = intensities)
>  >   at insert(spect1, ats = pos, values = intensities)
>  >
>  >  You see that I still having the error, even calling the str() function
>  >  before insert().
>  >  Here there is my sessionInfo():
>  >
>  >  R version 2.6.2 (2008-02-08)
>  >  i386-pc-mingw32
>  >
>  >  locale:
>  >  LC_COLLATE=Spanish_Spain.1252;LC_CTYPE=Spanish_Spain.1252;LC_MONETARY=Spanish_Spain.1252;LC_NUMERIC=C;LC_TIME=Spanish_Spain.1252
>  >
>  >  attached base packages:
>  >  [1] datasets  stats     graphics  grDevices tcltk     utils
>  >  methods   base
>  >
>  >  other attached packages:
>  >   [1] R.utils_0.9.8        R.oo_1.4.1           R.methodsS3_1.0.0
>  >  Hmisc_3.4-3          MASS_7.2-40          scatterplot3d_0.3-25
>  >  NMRTools_1.0.2
>  >   [8] svSocket_0.9-5       svIO_0.9-5           R2HTML_1.58
>  >  svMisc_0.9-5         svIDE_0.9-5
>  >
>  >  loaded via a namespace (and not attached):
>  >  [1] cluster_1.11.9 grid_2.6.2     lattice_0.17-6 tools_2.6.2
>  >
>  >  Can you help?
>  >
>  > Best,
>  >
>  >  Dani
>  >
>  >  Daniel Valverde Saubí
>  >
>  >  Grup de Biologia Molecular de Llevats
>  >  Facultat de Veterinària de la Universitat Autònoma de Barcelona
>  >  Edifici V, Campus UAB
>  >  08193 Cerdanyola del Vallès- SPAIN
>  >
>  >  Centro de Investigación Biomédica en Red
>  >  en Bioingeniería, Biomateriales y
>  >  Nanomedicina (CIBER-BBN)
>  >
>  >  Grup d'Aplicacions Biomèdiques de la RMN
>  >  Facultat de Biociències
>  >  Universitat Autònoma de Barcelona
>  >  Edifici Cs, Campus UAB
>  >  08193 Cerdanyola del Vallès- SPAIN
>  >  +34 93 5814126
>  >
>  >
>  >
>  >  En/na Henrik Bengtsson ha escrit:
>  >
>  >
>  > > Hi.
>  >  >
>  >  > On Feb 20, 2008 2:38 AM, Dani Valverde <daniel.valverde at uab.cat> wrote:
>  >  >
>  >  >> Hello,
>  >  >> I am trying to insert a certain number of points into a certain position
>  >  >> of a vector with this code:
>  >  >> x <- seq(1:10909)
>  >  >> x1 <- c(13112-10909)
>  >  >> spect1 <- rnorm(13112)
>  >  >> interpol <- approx(x,spect1,xout=c(seq(from=1, by=((10909 - 1)/(x1 -
>  >  >> 1)), length.out=x1)))
>  >  >> pos <- round(interpol$x,0)
>  >  >> intensities <- interpol$y
>  >  >>
>  >  >
>  >  > Please provide reproducible code that does not give an error.
>  >  >
>  >  >
>  >  >> spect2 <- insert(spect1,ats=pos,values=intensities)
>  >  >>
>  >  >
>  >  > Is this the famous insert() in R.utils?   Please give your
>  >  > sessionInfo() to help others see what you are using.  I repeat, please
>  >  > provide us with sessionInfo().
>  >  >
>  >  >
>  >  >> "interpol" object is the result of interpoling the missing x values with
>  >  >> respect to spect1. "pos" object is a vector with the indexes where the
>  >  >> values are to be placed (it is the rounded values of interpol$x) and
>  >  >> "intensities" is a vector with the values to be inserted. I try to
>  >  >> insert the values of "intensities" into the positions specified by "pos"
>  >  >> in the "x" vector using the insert() functions as shown in the code I
>  >  >> paste, but I get this error:
>  >  >>
>  >  >> Error in list("insert(spect1, ats = pos, values = intensities)" =
>  >  >> <environment>,  :
>  >  >>
>  >  >> [2008-02-20 11:36:28] Exception: Argument 'ats' and argument 'values'
>  >  >> has different lengths: 2203 != 1
>  >  >>   at throw(Exception(...))
>  >  >>   at throw.default("Argument 'ats' and argument 'values' has different
>  >  >> lengths: ", length(ats), " != ", length(values))
>  >  >>   at throw("Argument 'ats' and argument 'values' has different lengths:
>  >  >> ", length(ats), " != ", length(values))
>  >  >>   at insert.default(spect1, ats = pos, values = intensities)
>  >  >>   at insert(spect1, ats = pos, values = intensities)
>  >  >>
>  >  >> Can anyone help me on how can I solve it? I know that "pos" and
>  >  >> "intensities" have the same length, so I don't know why I get this
>  >  >> error. Any ideas will be welcome.
>  >  >>
>  >  >
>  >  > I challenge that claim, because one of the first assertions insert()
>  >  > (of R.utils) does is:
>  >  >
>  >  >    if (length(ats) != length(values))
>  >  >        throw("Argument 'ats' and argument 'values' has different lengths: ",
>  >  >            length(ats), " != ", length(values))
>  >  >
>  >  > Do the following before you call insert() to troubleshoot your data:
>  >  >
>  >  > str(spect1)
>  >  > str(pos)
>  >  > str(intensities)
>  >  >
>  >  > /Henrik
>  >  >
>  >  >
>  >  >> Best,
>  >  >>
>  >  >> Dani
>  >  >>
>  >  >> --
>  >  >> Daniel Valverde Saubí
>  >  >>
>  >  >> Grup de Biologia Molecular de Llevats
>  >  >> Facultat de Veterinària de la Universitat Autònoma de Barcelona
>  >  >> Edifici V, Campus UAB
>  >  >> 08193 Cerdanyola del Vallès- SPAIN
>  >  >>
>  >  >> Centro de Investigación Biomédica en Red
>  >  >> en Bioingeniería, Biomateriales y
>  >  >> Nanomedicina (CIBER-BBN)
>  >  >>
>  >  >> Grup d'Aplicacions Biomèdiques de la RMN
>  >  >> Facultat de Biociències
>  >  >> Universitat Autònoma de Barcelona
>  >  >> Edifici Cs, Campus UAB
>  >  >> 08193 Cerdanyola del Vallès- SPAIN
>  >  >> +34 93 5814126
>  >  >>
>  >  >> ______________________________________________
>  >  >> R-help at 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.
>  >  >>
>  >  >>
>  >  >
>  >  >
>  >
>



More information about the R-help mailing list