[R] Output for pasting multiple vectors

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Jun 25 22:54:25 CEST 2019


Hello,

The following works.
First, get the colnames you have posted in a format that R can process. 
in your code you would skip this.

cnames <- scan(what = character(), text = '
"sample.NA.NA.NANA"
"TCGA.27.1832.01.NA.NA.NANA"
"TCGA.27.1831.01.NA.NA.NANA"
"TCGA.28.5216.01.NA.NA.NANA"
"TCGA.16.0846.01.NA.NA.NANA"
"TCGA.28.5218.01.NA.NA.NANA"
"TCGA.06.0178.01.NA.NA.NANA"
"TCGA.06.0238.01.NA.NA.NANA"
"TCGA.06.0125.01.NA.NA.NANA"
"TCGA.06.0219.01.NA.NA.NANA"
')
cnames


Now your code corrected. I do not understand the output you are 
expecting. Can you give an example of the expected output of, say, the 
first 2 or 3 strings?

lapply(cnames, function(i){
   c1 <- strsplit(i, split = '\\.')[[1]]
   c1[4] <- paste(strsplit(c1[4], split = "",fixed = T)[[1]][1:2], 
collapse =  "")
   paste(c1, collapse = ".")
})


Hope this helps,

Rui Barradas

Às 20:24 de 25/06/19, Spencer Brackett escreveu:
> Mr. Barradas,
> 
> Oh haha my mistake. The following is the output you requested....
> 
> [1] "sample.NA.NA.NANA"
>   [2] "TCGA.27.1832.01.NA.NA.NANA"
>   [3] "TCGA.27.1831.01.NA.NA.NANA"
>   [4] "TCGA.28.5216.01.NA.NA.NANA"
>   [5] "TCGA.16.0846.01.NA.NA.NANA"
>   [6] "TCGA.28.5218.01.NA.NA.NANA"
>   [7] "TCGA.06.0178.01.NA.NA.NANA"
>   [8] "TCGA.06.0238.01.NA.NA.NANA"
>   [9] "TCGA.06.0125.01.NA.NA.NANA"
> [10] "TCGA.06.0219.01.NA.NA.NANA"
> 
> Best,
> 
> Spencer
> 
> On Tue, Jun 25, 2019 at 2:50 PM Rui Barradas <ruipbarradas using sapo.pt 
> <mailto:ruipbarradas using sapo.pt>> wrote:
> 
>     Hello,
> 
>     No, you have not understood, post the colnames, not the row.names.
> 
>     Run
> 
>     colnames(meth)[1:10]
> 
>     and post the output of that code line.
> 
>     Hope this helps,
> 
>     Rui Barradas
> 
>     Às 19:31 de 25/06/19, Spencer Brackett escreveu:
>      > The requested reprex....
>      >
>      > Rendering reprex...
>      > Error in parse(text = x, keep.source = TRUE) :
>      >    <text>:26:2: unexpected ')'
>      > 25:
>      > 26: 2)
>      >       ^
>      >
>      > And the subset of the data....
>      >
>      >   row.names = c(NA, 6L), class = "data.frame")
>      >
>      > Best,
>      >
>      > Spencer
>      >
>      >
>      > On Tue, Jun 25, 2019 at 2:25 PM Rui Barradas
>     <ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>      > <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>> wrote:
>      >
>      >     Hello,
>      >
>      >     No I wasn't expecting a very large file.
>      >     Try to make a reproducible example. If the problem seems to
>     be with the
>      >     sapply/strsplit post a subset of the data like just some of the
>      >     colnames:
>      >
>      >     colnames(meth)[1:10]
>      >
>      >
>      >     This would allow us to run the code you are having trouble with.
>      >
>      >
>      >     Hope this helps,
>      >
>      >     Rui Barradas
>      >
>      >     Às 17:36 de 25/06/19, Spencer Brackett escreveu:
>      >      > The result of dput(head(meth)) is a very large data
>     table/listing of
>      >      > data by category of what I presume to be the data from the two
>      >     TCGA .txt
>      >      > files I referenced previously. Is this the output you were
>     expecting?
>      >      >
>      >      > On Tue, Jun 25, 2019 at 12:19 PM Rui Barradas
>      >     <ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>
>      >      > <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>>> wrote:
>      >      >
>      >      >     Hello,
>      >      >
>      >      >     1) That error comes from not closing }) after the paste()
>      >     instruction.
>      >      >     The complete statement would be
>      >      >
>      >      >
>      >      >     colnames(meth) = sapply(colnames(meth), function(i){
>      >      >         c1 = strsplit(i, split ='\\', fixed = T)[[1]]
>      >      >         c1[4] = paste(strsplit(c1[4],split = "",fixed =
>      >      >     T)[[1]][1:2],collapse
>      >      >     =  "")
>      >      >         paste(c1,collapse = ".")
>      >      >     })
>      >      >
>      >      >
>      >      >     2) Can you post the output of the following?
>      >      >
>      >      >     dput(head(meth))
>      >      >
>      >      >
>      >      >     Hope this helps,
>      >      >
>      >      >     Rui Barradas
>      >      >
>      >      >     Às 16:58 de 25/06/19, Spencer Brackett escreveu:
>      >      >      > The following is what I have implemented thus far...
>      >      >      >
>      >      >      > The file object for the two files listed in lines
>     1-2 was
>      >     set in my
>      >      >      > working directory, and are under the folder
>     "Vakul's GBM
>      >     Code"...
>      >      >     hence
>      >      >      > the source of the odd 'prefix' for .txt files shown
>      >      >      >
>      >      >      >  >library(data.table)>.anno =
>     as.data.frame(fread(file =
>      >      >     "~Vakul's GBM
>      >      >      > Code/mapper.txt", sep ="\t", header = T))
>      >      >      >  >meth = read.table(file = "~Vakul's GBM Code/GBM.txt",
>      >     sep  ="\t",
>      >      >      > header = T, row.names = 1)
>      >      >      >  >meth = as.matrix(meth)
>      >      >      >
>      >      >      > ##  the loop just formats the methylation column
>     names to
>      >     match
>      >      >     format ##
>      >      >      > colnames(meth) = sapply(colnames(meth), function(i){
>      >      >      >    c1 = strsplit(i,split ='\\', fixed = T)[[1]]
>      >      >      >    c1[4] = paste(strsplit(c1[4],split = "",fixed =
>      >      >     T)[[1]][1:2],collapse
>      >      >      > =  "")
>      >      >      >    paste(c1,collapse = ".")
>      >      >      >
>      >      >      > Rendering reprex...
>      >      >      > Error in parse(text = x, keep.source = TRUE) :
>      >      >      >    <text>:28:0: unexpected end of input
>      >      >      >
>      >      >      > Best,
>      >      >      >
>      >      >      > Spencer
>      >      >      >
>      >      >      >
>      >      >      >
>      >      >      > On Tue, Jun 25, 2019 at 11:45 AM Spencer Brackett
>      >      >      > <spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>
>      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>>
>      >      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>
>      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>>>
>      >      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>
>      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>>
>      >      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>
>      >     <mailto:spbrackett20 using saintjosephhs.com
>     <mailto:spbrackett20 using saintjosephhs.com>>>>>
>      >      >      > wrote:
>      >      >      >
>      >      >      >     Mr. Barradas,
>      >      >      >
>      >      >      >     I got the same "output" as before, which is the +
>      >     indicating that
>      >      >      >     the expression is incomplete (according to some
>     R users
>      >      >     response in
>      >      >      >     this chain).
>      >      >      >
>      >      >      >     Should the argument perhaps be c1 = strsplit(i,
>     split
>      >     = '\\',
>      >      >     fixed
>      >      >      >     = T)[[1]] .... thereby eliminating the "." ?
>      >      >      >     The reprex and error message as the result of
>     this is
>      >     the same as
>      >      >      >     the previous one I sent.
>      >      >      >
>      >      >      >     I will send a more detailed description of what
>     code I
>      >     have
>      >      >     done so
>      >      >      >     far for context.
>      >      >      >
>      >      >      >     Best,
>      >      >      >
>      >      >      >     Spencer
>      >      >      >
>      >      >      >     On Tue, Jun 25, 2019 at 11:30 AM Rui Barradas
>      >      >     <ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>
>      >     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>>
>      >      >      >     <mailto:ruipbarradas using sapo.pt
>     <mailto:ruipbarradas using sapo.pt>
>      >     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>
>     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>
>      >     <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>>>>
>      >      >     wrote:
>      >      >      >
>      >      >      >         Hello,
>      >      >      >
>      >      >      >         Maybe with
>      >      >      >
>      >      >      >         c1 = strsplit(i, split = '\\.', fixed = T)[[1]]
>      >      >      >
>      >      >      >         instead of split = '.'
>      >      >      >
>      >      >      >         The dot is a metacharacter that matches any
>      >     character so
>      >      >     it has
>      >      >      >         to be
>      >      >      >         escaped.
>      >      >      >
>      >      >      >         Hope this helps,
>      >      >      >
>      >      >      >         Rui Barradas
>      >      >      >
>      >      >      >         Às 16:11 de 25/06/19, Spencer Brackett
>     escreveu:
>      >      >      >          > c1 = strsplit(i,split ='.', fixed = T)[[1]]
>      >      >      >
>      >      >
>      >
>



More information about the R-help mailing list