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 <ruipbarra...@sapo.pt
<mailto:ruipbarra...@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
<ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
> <mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@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
> <ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
<mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>>
> > <mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
<mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@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
> > > <spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>
> <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>>
> > <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>
> <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>>>
> > <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>
> <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>>
> > <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@saintjosephhs.com>
> <mailto:spbracket...@saintjosephhs.com
<mailto:spbracket...@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
> > <ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
<mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>>
> <mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
<mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>>>
> > > <mailto:ruipbarra...@sapo.pt
<mailto:ruipbarra...@sapo.pt>
> <mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>>
<mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>
> <mailto:ruipbarra...@sapo.pt <mailto:ruipbarra...@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]]
> > >
> >
>
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.